home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 31
/
Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso
/
Aminet
/
comm
/
bbs
/
cnet5demo.lha
/
!CHANGES.README
< prev
next >
Wrap
Text File
|
1999-03-23
|
278KB
|
6,671 lines
-= CNET AMIGA PROFESSIONAL BULLETIN BOARD SYSTEM VERSION 4 FINAL BETA SERIES =-
Continued development by Ray Akey
for ZenMetal Software
NOTE: THIS FILE IS NO LONGER MAINTAINED. SEE HTTP://WWW.CNETBBS.NET/CHANGES/
OR THE ACCOMPANYING HTML IN THE CHANGES/ DIR OF THIS ARCHIVE.
CNET NEWS
-----------------------
<10-Jan-98>
We now have a new domain, "cnetbbs.net" which is our own CNet BBS domain.
CNet systems worldwide can be reached through cnetbbs.net. If you would like
your system listed as a machine on our domain, please contact rakey@cnetbbs.net
for more information. A list of cnet systems on this domain will be listed in
the near future.
We also have some new e-mail support addresses, as follows:
bugs@cnetbbs.net ................... bug-reports
suggestions@cnetbbs.net ............ ideas and sugestions for the future
rakey@cnetbbs.net .................. Ray Akey's (mine) personal e-mail address
...to quote a line from one of my favorite movies, "They're heeeeeeeeeere!"
(Now, on to the meat of things..)
Changes for v4.70
-----------------
1. Changes to the following BBSTEXT lines:
1481:Copied attributes of %s (%d)..n1
2. Fixed 2 memory leaks in mail-task and cnsmtpd, respectively.
3. Fixed memory leak in of 4120 bytes in "bbs" every time a mail was
successfully saved using "MS" (this was the big one)
4. bmaint altered to properly set the ID of subboards as shown in SubboardUtil/BaseEd
5. New button "COMPACT" added to SubboardUtil. Be ***VERY*** critical of your
use of this feature as it will alter the actual physical subboard numbers
of your subboards, which are referenced by other CNet features.
CNet/5 will use a referencing method other than actual physical subboard
numbers.
However, If you use the compact subboards button, you should be aware of
the following possiblle side-effects to CNet/4:
1. May alter user "joined" status. Users will have to re-join subboards
whose physical subboard numbers have changed and may also have to drop
those which fill "old" holes of subboards that may have been killed.
2. May affect QWK offline message replies. Replies may go to the
wrong subboards if a user yanked messages before subboard
compacting and then upload replies after the compacting has been
performed.
QWK posts and replies made to packets yanked AFTER the compacting
will be filed correctly.
3. May affect GATED mail subboards. Run config and check your IMP
filters as applicable to gated mail subboards, and re-set the
destination subboard/number for each IMP gate, if incorrect.
4. May affect FTN areas and Export-to's. Run config and check that
these settings have not changed and correct them in the event they
have changed.
NOTE: SubboardUtil will not allow you to use the compact button until
ALL bbs ports are unloaded as any subboard activity could crash
your system. DO NOT run any other CNet utilities, other than
Control itself, until after compacting is complete. SubboardUtil
makes every attempt to lock subboards but some 3rd party utilities
may not adhere to proper CNet subboard locking procedures so it is
best to take these warnings under advisement.
** ALWAYS MAKE A BACKUP OF SYSDATA:SUBBOARDS4 BEFORE USING SUBBOARDUTIL IN **
** CASE UNPREDICTABLE PROBLEMS OCCUR WHILE OPERATING ON SUBBOARDS. **
6. Fixed bug 981201-194929: Gated mailing list messages were not threaded
properly for posts with long titles.
7. Fixed bug 981124-161036: 2 second delay added to password send of cnftp
when auto-connect enabled.
8. Fixed bug 981118-172456: BBSTEXT line 2143 parsing ignored the last
amaint "no adopt" file pattern.
Changes for v4.69
-----------------
1. (reference Ticket 981004-164538) Fixed transposed event commands "SYSOP IN"
and "DOORS CLOSED" in Cron.
2. (reference Ticket 980928-051513) mail-task no longer keeps a lock on
its public screen when iconified or menufied.
3. (reference Ticket 980928-212930) CNetIRC doesn't save everything after
editing personal servers.
4. (reference Ticket 980921-162602) CNetIRC not hiding real name if user
has requested his real name kept private (in CNet's "EU" command).
5. (reference Ticket 980925-214615) IRC OPER Kill command was not handled
properly by CNetIRC.
6. (reference Ticket 980927-205639) carrier check was not working while
in FTP upload/download.
7. (reference Ticket 980921-195134) KL ignored '!' to disable prompts.
8. Added ARexx "STATUS" command to Mail-task. Mail-task returns a string
containing the text "SUSPENDED" if it is paused; "RUNNING" otherwise.
9. Mail-task now moves "unknown" mail to a subdirectory named "UNKNOWN" in your
INet/UUMail Path as configured in CNet Config's PATHS section.
10. BBSTEXT hook added for mail-task post-session command. Line 2604 of BBSTEXT
should either contain a full path to an AmigaDOS command or script name or be
BLANK (that is, the line should exist but have no text whatsoever on it) if
you don't want a mail-task aftersession script executed.
Changes for v4.68
-----------------
1. Fixed mail-task MIME decoding bug with "Internet Mail Service" mail packets
2. Fixed BaseEd/EL invitation and superuser flag discrepancies.
3. Fixed "**NULL POINTER** deleted" output in mail-task after deleting
certain attachments.
Changes for v4.67
-----------------
1. Fixed bug ticket 980913-025710 filed by Dammy:
When doing an RA, and you type OFF or O!, all new items are lost/cancelled.
2. Fixed bug ticket 980912-172044 filed by Trolan:
cnSMTPd doesn't log the remote IP in the Received: header.
3. Fixed the PArts command that was causing a division by zero under certain
conditions.
4. Fixed a MAJOR nntpget bug that caused the infamous "duplicating ghost
subboard" problem.
5. cnFTP command line arguments cleaned up and made more standard all around.
This means that any command/argument that is available as a CLI arg can
also now be used as arguments to the "OPEN" command. See the cnFTP menu
by entering "?" once cnFTP is running or view the contents of
"systext:menu/ftp"
6. Updated systext:menu/ftp
7. Change to the following BBSTEXT line(s):
2380:R=REMOTESITE,O=REMOTEPORT/K/N,D=REMOTEDIR/K,C=LOCALDIR/K,S=CONTROLSCRIPTNAME/K,L=LOGINNAME/K,P=LOGINPASS/K,T=ACCOUNT/K,G=GETFILENAME/K,Q=AUTOQUIT/S,V=DEBUG/S,A=AUTOANON/S,E=PROGRESS/K/N
2603:n1Enter a new value for transfer progress:
8. Added to BBSMENU section 46:
CP,Change Progress
Changes for v4.66
-----------------
1. Fixed bug #96 in bugs.464: BBSTEXT line 782 is now displayed before saving
feedback text so that BBSTEXT hooks can be installed, such as those used by
SuperTags and Lexicon.
2. Fixed bug #95 in bugs.464: quitting config with file and yank-task appicons
open left "move me" icons on workbench.
3. Fixed bug #94 in bugs.464: Paragon door exit locks up BBS port.
4. Fixed bug #93 in bugs.464: Using HEAder command on internet mail sent to
SYSOP resulted in error message.
5. Fixed bug #92 in bugs.464: From: field of internet mail being used in
[R]eplies even if reply-to: is existant.
6. Patched mail-task & cnetmail.library MIME decoding routines to be
compatible with more mailers. mail-task has been tested with the
following mailers:
AOL
BeMail
DTS
Eudora
MicroDot
NetScape
Outlook Express
pc_pine
pegasus
pine
YAM
7. Fixed bug #72 in bugs.464: CNetIRC should not remember the channels you were
in when the /quit command is used.
Changes for v4.65
-----------------
1. Fixed internal bug(s) in "BBS" that caused a slight slow-down in operation.
2. Fixed an SMTPd mail bug which was a possible security threat.
3. Added the following function to the cnet.library API:
NAME/PROTO:
void CNetStripChars(char *string, char *stripchars);
FUNCTION:
Strip the given characters from a given string.
ARGUMENTS:
string
the string that may contain characters to be removed.
stripchars
a string of characters that should be removed from the given
string, if present.
RETURNS:
none
4 Added BBS ARexx function as follows:
AREXX COMMAND
gokeytosub
SYNTAX
gokeytosub <subboard go keyword>
RETURNS
the 4-byte integer address of the subboard structure with a matching
GO keyword or a NULL string if not found.
EXAMPLE
subgokey = "gfiles"
/*************************************************************************
* get the address pointer to the subboard with a go keyword of "gfiles" *
* note the absense of an offset addition to the result as "Title" is *
* offset 0 in the SubboardType4 structure found in subs.h *
*************************************************************************/
gokeytosub gokey;titleptr=result
/* import the string starting at the memory address contained in substart */
title = IMPORT(d2c(titleptr))
/* Print the title of the subboard object */
transmit title
/*************************************************************************
* get the address pointer to the subboard with a go keyword of "gfiles" *
* and add the offset (135) to the DataPath variable in *
* struct SubboardType4 (see subs.h) *
*************************************************************************/
gokeytosub gokey;datapathptr=result+135
/* import the string starting at the memory address contained in substart */
datapath = IMPORT(d2c(datapathptr))
/* Print the DataPath of the subboard object */
transmit datapath
Changes for v4.64
-----------------
1. Added cnetc.library API function CNC_FindForeignArea().
This is the same function responsible for the "go keyword search" when
a user enters "GO <arg>" at any subboard prompt.
NAME/PROTO:
short CNC_FindForeignArea( char *gokey );
FUNCTION:
Find the physical subboard number of the subboard with the
given subdir name
ARGUMENTS:
gokey
the subdirname (aka GO keyword) or partial match for the subboard you
wish to locate.
RETURNS:
INVALID_SUB_PHYSNUM if the desired subboard is not found.
MAIN_SUB_PHYSNUM if the go keyword describes the MAIN menu
go keyword (eg. "main")
otherwise, returns the index into myp->Subboard[]
SYNTAX:
physnum = CNC_FindForeignArea(go_keyword);
EXAMPLE:
short physnum;
switch( CNC_FindForeignArea("cnet") )
{
case INVALID_SUB_PHYSNUM:
CNC_PutText("no subboard found with that GO keyword\n");
break;
case MAIN_SUB_PHYSNUM:
CNC_PutText("error: That GO keyword describes the main menu which is not handled by this door\n");
default:
sprintf(z->ABuffer, "That GO keyword belongs to subboard '%s'", myp->Subboard[physnum]);
CNC_PutA();
break;
}
SEE ALSO:
cnet/sdk/examples/dirsize.c
2. Added "dirsize" module which is based on the cnetc.library
CNC_FindForeignArea() function. Source for this module is also provided
(see include:sdk/examples/dirsize.c) so that you may customize the
module and/or use as example source for a "standard" CNet door module.
3. Added the following to BBSMENU section "2; Available everywhere"
DIRSize |#2cnet:doors/dirsize}
4. BBSTEXT changes as follows:
2594:c9copied. (%d bytes)q1n1
2595:n1Entering the BBS core..n1
2596:This command cannot be used on non-file areas.n1
2597:Could not find subboard with go key of "%s"n1
2598:Subboard: %s (%s)n1
2599: %d item%s, %d file%s; %ld byte%s (%s)n1
2600:s
2601:
2602:You must supply a subboard GO arg or be in the subboard you wish to sizen1
5. Added cnetc.library API function CNC_OutScan().
CNC_OutScan() displays the a CNet item in scan/browse format.
NAME/PROTO:
short CNC_OutScan();
FUNCTION:
Prints attributes (number, title, size, etc) of the current item
to the user port screen.
ARGUMENTS:
none, although z->Item0 and z->ihead0 must contain information
about the "current" item. Also, z->br must contain the item
number. You can use the cnet.library function
ZGetItem(&z->Item0, &z->ihead0, subboard_ptr, item_number)
to get the item and its header. Also make sure to set z->br to
itemnum+1 and restore the previous value of z->br after
your CNC_OutScan() call.
RETURNS:
none
SYNTAX:
CNC_OutScan();
EXAMPLE:
see cnet/sdk/examples/showunval.c
6. Reworked NNTPGet to not exit as messy.
7. Force trashcan empty on exit setting added as a user priv. If you wish to
set this option per user/access group instead of using the global setting,
make sure the "config/options/page 2/Force trashcan empty on exit" setting
is disabled; otherwise, the global setting will over-ride the user priv
setting.
NOTE: You should use "EA 1-" and set this setting initially for all users.
You should also use "EG 1-" and set this setting initially for all
access groups.
8. Fixed bug that caused problems when Dotoran's Toolkit (short WHO) was used
in a List area (most notably line 656 of BBSTEXT being longer than 268
characters).
This fix should have more implications that thought. Those who were
experiencing problems caused by BBSTEXT lines that supposedly had no
limit or at least limited by the ABuffer Size setting should see their
problems also dissapear.
Changes for v4.63
-----------------
1. Fixed "bug" #79 in bugs.61: if uumail:#?.wrk exists, it should be processed
upon mail-task startup.
2. Fixed "bug" #80 in bugs.61: Subboard "where" string was not being set
properly in some instances.
3. Added 2 new API functions to cnet.lib as follows. Remember, to use these
functions you must link with cnet.lib or cnet_reg.lib. The latter is the
register args version of the library; the former builds the args on the
stack.
NAME/PROTO:
short GoKeyToSubNum ( char *name, BOOL accesscheck, BOOL ignorejoined );
FUNCTION:
Provides a way to get the physical subboard number (aka subboard array
index) given a SubDirName (aka Go keyword).
ARGUMENTS:
name
The go keyword of the subboard to be found.
accesscheck
if TRUE will cause this function to return INVALID_SUB_PHYSNUM if
the subboard exists but the currently online user does not
have access.
ignorejoined
if FALSE will cause this function to return INVALID_SUB_PHYSNUM
if the subboard is a "must join" subboard and the user is not joined.
if TRUE then the user's joined status is ignored.
RETURNS:
INVALID_SUB_PHYSNUM on subboard not found or access/join
restrictions, otherwise returns the physical subboard number of
the matching subboard.
SYNTAX:
PhysNum = GoKeyToSubNum( go_keyword, <TRUE|FALSE>, <TRUE|FALSE> );
EXAMPLE:
#include "cnetlib_protos.h"
short PhysNum;
PhysNum = GoKeyToSubNum( "GFILES", FALSE, TRUE );
if(PhysNum == INVALID_SUB_PHYSNUM)
CNC_PutText("Could not find a subboard with Go keyword \"GFILES\"\n");
else
{
sprintf(z->ABuffer, "Subboard index of GFILES: %d\n", PhysNum);
CNC_PutA();
sprintf(z->ABuffer, "Subboard Title: %s\n", myp->Subboard[PhysNum].Title);
CNC_PutA();
}
NAME/PROTO:
UBYTE CheckJoined( struct BaseUser **p, short r );
FUNCTION:
Check to see if the currently online user is a member (eg. joined)
of a subboard.
ARGUMENTS:
p
a pointer to the address (eg. pointer to a pointer) of a new
uninitialized BaseUser structure.
r
the physical subboard number of the subboard for which join
status is desired.
RETURNS:
TRUE if joined, FALSE if not.
note that extended information is returned in p. See subs.h
for more information on the BaseUser structure.
EXAMPLE:
#include "cnetlib_protos.h"
struct BaseUser *bu;
UBYTE joined;
short now_phys;
if( (now_phys = GoKeyToSubNum("uploads", TRUE, FALSE)) == INVALID_SUB_PHYSNUM )
{
CNC_PutText("ERROR: Could not find subboard with go keyword \"uploads\"\n");
}
else
{
if(joined = CheckJoined( &bu, now_phys ))
{
CNC_PutText("You are a member of \"uploads\"\n");
}
else
{
CNC_PutText("You are NOT a member of \"uploads\"\n");
}
}
4. Fixed the "logon bug". This bug only affected users who had account
cacheing set to cache only 1 account in config/limits/page 2.
Also note that the cause of this bug may also have been responsible for the
"growing userdata" bug/side-effect.
These two bugs have had a remarkable impact on the CNet community.. I
almost hate to see them go as the CNet mailing list will go back to being
a quiet, disinteresting, boring, non-ZenMetal bashing and otherwise
non-irritating entity.. <sniff!> ..and if you really believe that I'm choked
up about it, you may go back to your regularly scheduled regimen of banging
your head against your monitor..
5. Fixed a bug where, if a user attempted to login while pointers was running,
the system would slow to a crawl and possibly fall down and go **BOOM**
NOTE: This fix prevents users from logging in while pointers is running.
More specifically, it causes the user-login to be delayed at the
CNet Amiga copyright information screen. This is NOT a bug but a
necessary delay to prevent user-login from corrupting dynamic
userdata.
To prevent interruption/delay in user service, be sure that, if you
run pointers as a maintenance event via cron, that it is executed
during periods of little or no activity.
Changes for v4.62
-----------------
1. Added repair_udata utility. repair_udata is an AmigaDOS shell executable
that will remove "dead wood" from your bbs.udata4 file (your userfile)
it contains an "account restructuring feature that will compact your userdata
file, thereby renumbering accounts to remove spaces in the userdata file.
Of course, this feature is one that should only be used if your bbs.udata4
has been corrupted and there are "spaces" that will not go away. Your users
would probably not be "happy campers" if you keep switching their account
numbers.
By default, repair_udata works on sysdata:bbs.udata4 and creates a new
userdata file called sysdata:bbs.udata4_rep. It is YOUR duty to delete
or backup your current bbs.udata4 and rename bbs.udata4_rep as bbs.udata4.
repair_udata does not make the assumption that you want to replace your
current udata with the new file.
Steps to repair a corrupt usedata file:
1. quit CNet/control
2. run repair_udata in any AmigaDOS shell
3. **BACK-UP** and delete or rename sysdata:bbs.udata4
(you may decide to restore the old userdata file if you don't like what
repair_udata does in renumbering accounts)
4. rename sysdata:bbs.udata4_rep as sysdata:bbs.udata4
5. run control
6. run CNET:DOORS/POINTERS in any AmigaDOS Shell.
7 quit CNet/control again.
8. run CNet/control.
9. go back to watching B5 or South Park now that you've kissed your
BBS computer for the 15th time.. and by the way, clean your damned
monitor! It is nasty reading these docs through that fog..
These steps are important and may be reduced at some later point in time
but, for now, all of the above steps are required to rid CNet of your old
userdata and use the repaired/restructured file.
Also note that repair_udata takes an OPTIONAL command line argument which
is an alternate path/filename to work on.
eg. repair_udata ram:bbs.udata4
Repair_udata will repair/restructure the given file and create a new file
in the source directory, but with the added "_rep" extension.
2 . 3rd party Door/utility coders: added 2 new Exec message (CMessage)
commands to mail-task.
MT_PAUSE_MSG
Pauses mail-task in much the same way as the ARexx PAUSE command and the
running/paused button on mail task.
MT_RESUME_MSG
Un-pauses mail-task.
For more information on how to use CMessage(s), see the changes for v4.49
later in this document and the ensuing explanation of SendTaskMessage()
and associated code.
Please note that you cannot be sure that mail-task has paused until
PutMsg() returns. What this means is that YOU MUST USE SYNCHRONOUS
EXEC MESSAGES WHEN SENDING THESE COMMANDS. If you attempt to use
asynchronous messages to pause mail-task and add mails to various,
monitored incoming mail directories, you may end up corrupting not
only the message you are filing, but also other mails received.
3. Fixed nntpget display bug in which nntpget reported the wrong newsgroup
title(s) on aftersession imports but DID import to the proper group(s).
4. Fixed local download/copy where it will now report failed if the given
local path does not exist.
5. Added DOECHO and DONTECHO command line arguments to ctelnet. ctelnet
args are now:
ctelnet <host> <port> <DOECHO|DONTECHO>
of course, only one of either DOECHO or DONTECHO are allowed.
6. Fixed bug #88 in bugs.61: if you menufy telnetd upon opening
its GUI, it displays the status text "initializing" until a connection
is made or attempted.
7. Fixed "bug" #87 in bugs.61: systext:menu/ctelnetd_modes updated.
8. Fixed "bug" #86 in bugs.61: PArtitions command was ignoring Max BASE
partition setting.
9. Fixed "bug" #85 in bugs.61: nntpget will produce enforcer hits if invoked
while already running.
10. Fixed "bug" #84 in bugs.61: no carrier check done while in edit mail filter
sub-section.
11. Fixed "bug" #83 in bugs.61: UserEdit date gadgets not allowing correct
data format.
12. Fixed "bug" #82 in bugs.61: subboard not unlocked when background
test/transform fails.
13. Fixed "bug" #81 in bugs.61: fixed various CNetIRC edit/add/select server
quirks.
Changes for v4.61
-----------------
1. Added to "44;CNetIRC main menu" section of !bbsmenu_stock:
E,Edit Server
Also changed:
A,Add/Edit server
to:
A,Add server
2. Added HEAder and REscan help to systext:menu/mailread
3. Fixed config bug where some configured items did not "stick".
4. Fixed mail-task which was cutting the "From:" part of the sender line
from the E-mail header, when saved.
5. Fixed Repair_Mail (RRM) which was causing an enforcer hit if the user
did not have sysop-maint and the user's current folder was empty.
Changes for v4.60
-----------------
1. Changes to the following BBSTEXT line(s):
2591:Archivers
2592:IMP
2593:n1No E-mail header exists for this item.n1
2. IMP and Archivers configuration editors are now stand-alone applications,
named CONFIGIMP and CONFIGARCS, respectively. These should exist in your
assigned CNET: directory/drawer.
You can start these configuration editors by entering their filename in any
Shell or by selecting the appropriate Control pull-down menu.
Other portions of CNet Config will also be made stand-alone as CNet
progresses.
3. CNet now retains internet email headers in the user's mail directory,
in a sub-directory called "HEADER". 3rd party door coders can retrieve
the internet email header for mail items if the MailHeader4.RFCHead
variable is non-zero. The full path to the header file should be
reconstructed as follows:
if( MailHeader4.RFCHead )
sprintf(headerpath, "mail:users/%s/HEADER/%ld", UserData.UUCP, MailHeader4.RFCHead);
4. Changes to BBSMENU section "7;Read mail".. Specifically, the addition of
the following line to the STOCK entries for this section:
HEAder
When this command is entered at the "reply" prompt during mail-read (MR),
and the current item is an internet E-mail, the raw E-mail header
will be displayed for the user's inspection.
In future CNet releases, the user will be able to specify, via a mail,
preference setting, whether he or she wishes to have internet email
displayed with a regular CNet header or an enhanced version of the
original e-mail header.
5. Internet email handling bugfix where some MIME attachments were not processed
correctly.
6. Added Read822Header() function to the CNet API. Specifically, it is
a part of the cnet.lib link library.
PROTOTYPE:
ULONG Read822Header(BPTR hFile, char **p_Headermem, char ***p_Headerlines, int *p_linecnt)
SYNOPSIS:
Read a complete standard RFC-822 header from an internet email and parse
into lines in the same format as CNet's internal BBSTEXT (bm) pointers.
ARGUMENTS:
hFile
The AmigaDOS file handle, as returned by Open(), pertaining to the email file.
p_HeaderMem
a pointer to a pointer that will receive the address of the pointer where
the email header block is located. You MUST FreeVec() the result
before calling Read822Header() again and/or before exiting your program.
p_HeaderLines
pointer of type char *** that will function as an array of pointers to
the lines of the RFC-822 header. You MUST FreeVec() the returned pointer
before calling Read822Header() again and/or before exiting your program.
p_linecnt
pointer to the variable that will receive the count of lines in the header.
USAGE:
char *headerblock=NULL;
ULONG headersize;
char **headerlines;
int linecnt;
BPTR fh;
// open email file..
if(fh=Open("my_email_file", MODE_OLDFILE))
{
// process until Read822Header() gets no more headers in the mail file.
// note that Read822Header() is designed to function properly on
// mailfiles containing any number of emails..
while( (headersize=Read822Header(fh, &headerblock, &headerlines, &linecnt)) && (linecnt>0) )
{
// print header lines one at a time..
for(x=0;x<linecnt;x++)
{
Printf("headerline[x]: %s\n", x, headerlines[x]);
}
// read & process rest of email message here..
// note that you will have to detect the end of the email body
// text if more than one email exists in the mail-file as the file
// position of fh must be in a position such that Read822Header()
// begins reading at the START of the next email header.
// now free the previous header memory..
if(headerblock)
FreeVec(headerblock);
if(headerlines)
FreeVec(headerlines);
}
}
7. Various internal quirks with MIME encapsulated emails fixed.
Changes for v4.59
-----------------
1. By popular request, an AmigaDOS shell program has been added, which
will completely delete your user data and associated files to
allow you to restart your userlist. This executable is called,
appropriately, "eraseallusers" and exists in your CNET: directory.
Quit Control and run CNET:ERASEALLUSERS in any Shell to restart
your userlist. When you restart Control, even you will have to use the
"new" command to create your account #1 and login.
2. Changes to the following BBSTEXT lines:
2297:n1[T]erminal Emulation, [A]ddServer, [E]dit Server, [D]elete Server, [Q]uit.n1
2311:z4c6Personal Serversq1n2
2588:Add to Global server list [Y/n]? ?1
2589:f1
2590:n1
3. Changes to BBSMENU section "44; CNetIRC main menu" ..
Q,Quit
T,Terminal Defaults
A,Add/Edit Server
D,Delete Server
E,Edit Server
4. Added IMP mail-aliasing. To receive mail for one mail-id and have it
saved to another LOCAL mail ID, simply do the following in IMP config:
Name/pattern: <aliased MailID> (this is the mail id the incoming message
would be addressed to, after resolving)
Detect-type : MailID
Process type: Alias-to
Alias-to : <Destination MailID> (this is the mail id of the user to
whom the mail is to be redirected)
5. Added OPTION in Config "Force Trashcan empty on mail exit" which allows
sysops to force user Trashcans empty when users exit mail-read. Please
run Config and check Options to be sure this item is set to your
preference.
Changes for V4.58
-----------------
NOTE: DUE TO CHANGES IN THE SUBBOARD FORMAT, YOU MUST RUN THE 458 UPDATE
EXECUTABLE IN ANY AMIGADOS SHELL BEFORE RUNNING THE VERSION 4.58
CONTROL PANEL, OTHERWISE YOU WILL HAVE NO SUBBOARDS LISTED IN YOUR
BASE!
IT IS ALSO ADVISABLE TO **BACK UP** AT LEAST YOUR SYADATA:SUBBOARDS4
FILE BEFORE INSTALLING THIS UPDATE.
1. Changes to the subboard loading routines so that if a corrupt subboards4
file is encountered, the system does not crash, lock-up or otherwise
fail during boot or login.
2. SubboardUtil (BaseEd) now has a force valid button. This button is used to
FORCE CNet to use a corrupt subboard. CNet now ignores these corrupt
subboards but this button will force an over-ride. Normal use should
not require the usage of this button but it is provided for a complete
implementation.
3. Fixed bug #69 in bugs.457: If no subboards4 exists, CNet no longer crashes
when AL is used to create a subboard.
4. Fixed bug #66 in bugs.457: CNet now uses a temp file for the "working"
mail import file so that additions to the user mailfile by other
applications (such as cnsmtpd) does not corrupt the working mailfile. It
is still a good idea to notify mail-task to PAUSE if you use external
internet-mail retrieval applications.
example ARexx code to pause mail-task:
/* options results */
ADDRESS MAILTASK_RX.1
PAUSE
example ARexx code to unpause mail-task:
/* options results */
ADDRESS MAILTASK_RX.1
RESUME
mail-task will automatically rescan your internet mail directory for
new items when the RESUME command is invoked.
5. Fixed bug #60 in bugs.457: CNet no longer gets an enforcer hit if no
BBSLICENSE is found. A requester opens to note the missing file.
6. Fixed bug #61 in bugs.457: non-interlace systems no longer crash during
boot with a virgin (eg. not yet activated) license.
Changes for V4.57
-----------------
1. UserEdit GUI listview received column support and sorting options.
2. Fixed bug #58 in bugs.456: The help command (?) is being sent as
a server command after the CNetIRC help menu is displayed.
3. Config was not saving the state of the "dupes to bad msgs" setting
in "tosser" section. <- fixed!
4. Fixed bug #57 in bugs.456: enforcer hits occured when execution of NNTPGet
was attempted while already running.
5. Added tab cycling to string/integer gadgets of Config.
6. Fixed bug that caused the upgrade executable 3.x_to_4.x to lock up the
system during conversion of configs.
7. Fixed "bug" #55 in bugs.456: SubboardUtil moved to the CNET: dir where
Control expects it to be.
8. Fixed "bug" #56 in bugs.456: Adding a new subboard and then adopting (AO!)
a new file caused a "file/item not found" error message to be returned by
file-task when subboard flags were set to BACKGROUND test/transform.
Changes for V4.56
-----------------
NOTE: The FIRST thing you should do after installing this CNet version is run
SubboardUtil (or click on the "BaseEd" button on the Control Panel if you
have already made the BBSTEXT changes) and note the ID for subboards in
the list of subboards displayed. If these IDs are all zero (0), then
press the "(Re)Serialize" button. This will serialize your subboards.
Serialization will be used for future internal CNet subboard activity.
You may use the (Re)Serialize button at any time but note the following
concerns:
When the subboard packing feature of SubboardUtil/BaseEd is
complete, re-serializing your subboards while in PACKED state
will remove any holes(1) and therefore, your subboards file will
not be able to be expanded at a later time.. More on this in
the future when packing and expanding of the subboards file
is implemented.
(1) a hole is a killed subboard that is no longer used by the system
but currently left in the subboards4 file to improve CNet
efficiency. Holes are responsible for "ghost" subboards appearing
under certain circumstances.
1. Changes to the following BBSTEXT lines:
2543:_BaseEd
2. Added GUI to SubboardUtil, which is the utility that is loaded when you click
the "BaseEd" button on Control. SubboardUtil will, as of CNet/5 host the
following features, to be added in no particular order during the CNet V4.5 to
V5.0 series:
+ o ghost subboard removal
+ o sort by ID
+ o sort by Title
+ o editing of subboard attributes
o tree sort
o subboard file backup/restore
o subboard packing/expanding
o offline subboard relocation/edit/add/remove
o offline message/response/file posting
o ...plus more
'+' denotes features that are already present.
NOTE: DO NOT use the "active/killed" cycle gadget to kill subboards from
your messgae/file base. That cycle gadget is only used to mark
"ghost" subboards killed. Once again, ghost subboards are those
subboards that were killed in the past but have been known to re-appear
(but not visually) for varying reasons. When ghost subboards
reveal themselves, they can often cause strange behaviour when
CNet and 3rd party doors walk the subboard list from 0 to
the max number of subboards available. Doors/utilities that walk
the subboard list using the the CNet message base
parent/child/next/prev pointers are not usually affected by ghost
subboards.
3. Fixed bug #48 in bugs.455: auto-creation of mail:mimet
4. Fixed bug #49 in bugs.455: garbage in vote log where vote choice should
be logged.
5. Fixed bug #51 (which may also fix bug #50) in bugs.455: telnetd was eating
a lot of CPU.
6. Telnetd bug fixed where no successive telnet sessions could be accepted
after the max autoload setting was reached, dynamically.
7. Fixed bug #46 in bugs.455: OLM prompt buggy for ASCII-mode users.
8. bug #45 in bugs.455 invalid.
9. New shell argument added NNTPGet: M=IMMEDIATE/S
By default, NNTPGet waits until the seesion is over to begin importing
retrived articles to your CNet message base. This is so that it can
disconnect from your service provider's news server as fast as possible.
Unfortunately, this method, although better/faster, is memory intensive.
Use the IMMEDIATE arg, when invoking NNTPGet to force NNTPGet to import
articles to the CNet message base as they are retrived from your ISP.
This reduces NNTPGet's memory usage but lengthens the time NNTPGet stays
connected to your ISP's news server.
Changes for V4.55
-----------------
1. CDROM temp support added to dmaint (CNet Commander).
2. Fixed ^r channel focus switching in CNetIRC which previously tried to
set the focus to channels that are no longer joined. (eg. after /part)
3. BBSTEXT changes:
363:n1%s is not a user of this system--use anyway [N/y]? ?0
367:n1%s is not a member of this subboard--address anyway [N/y]? ?0
4. Fixed possible problem with NNTPGet not recognizing the server configured
in config/defaults.
Changes for V4.54
-----------------
NOTE: YOU MUST RUN THE AMIGADOS UPGRADE EXECUTABLE "UPDATE/454" IMMEDIATELY
AFTER INSTALLING THIS VERSION AND WITH THE **NEW** CONTROL PANEL RUNNING
OR YOUR USERS MAY NOT BE ABLE TO ENTER SUBBOARDS.
1. Added to telnetd: Iconify, Menufy and other common capabilities that the other
CNet tasks/servers possess.
2. IMP now searches incoming emails for SENDER: and REPLY-TO: in addition to the
previous FROM: field on "apparent sender" traps.
3. Added "SuperUser Only" setting to subboard EL "Access Vars" screen.
Subboards with this setting enabled will only allow only users with
SUPERUSER priviledge flag to enter. The upgrade executable "454"
walks through all subboards and assures that this flag is initially OFF.
4. Changes to the following BBSTEXT line(s):
437:n1Only SuperUsers can enter that area.n1
5. Added internal support for the soon-to-be-released subboard4 packing
utility.
6. Fixed potential problem with CNetIRC DCC SENDs not being queued properly.
Added a better multi-column structure to file-task display in the process.
7. Added display of file-task test/tx in the upper window of file-task.
8. Background file tests/transforms are now done as parallel tasks. The sysop
should set the "max. simultaneous test/tx" in config/limits to limit
the number of files that can be processed simultaneously.
Changes for v4.53
-----------------
1. Fixed bug #9 in bugs.451 where Telnet gave an odd error "sleep (5) from telnet..."
2. Added connection info to telnetd (total vs. blocked) and grouped server info.
3. Fixed nntpget log problems which caused bugs #8 and #29 in bugs.451.
4. Changes to bbstext:
2236:%6.6s IMPORTED %d (%d bad, %d dupes) in %s
2534:_SysInfo
2535:_UserInfo
2536:_Config
2537:C_ron
2538:_Mail
2539:_Files
2540:_Yanks
2541:_News
2542:User_Ed
2543:FileEd
2544:_Quit
2545:_Doors Closed
2546:Fi_les Closed
2547:Mess_ages Closed
2548:N_o New Users
2549:Syso_p In
2550:CNet/4 Control Panel
2551:Run
2552:Iconify
2553:Menufy
2554:Show GUI
2555:Snapshot Position
2556:Quit
2557:CNet
2558:Iconify
2559:Text/menu reload
2560:Write setup
2561:Write & LOCK setup
2562:About CNet
2563:Quit
2564:Actions
2565:Clear chat call
2566:Clear line
2567:Close port
2568:OnLine Message
2569:Internet
2570:SMTPd
2571:Telnetd
2572:Configuration
2573:Config
2574:Cron
2575:MIME
5. Added capability of easily changing channel focus in CNetIRC by using ^r
(ctrl-r).
6. Made more Control panel text configurable (for ease of foreign language
translation (and wackos like me who like to change things. ;)
Here is a tabular description of the bbstext lines used for Control
panel texts:
Purpose lines
==================== =========
Window buttons 2534-2549
Window Title 2550
Popup button labels 2551-2556
Window menus 2557-2575
Changes for v4.52
-----------------
1. Fixed bug #36 in bugs.451
2. Telnetd IP blocking configuration is now saved.
3. Fixed bug #34 in bugs.451 where RELogon command was acting as a logoff
command when used on telnet ports.
4. Changes to the following BBSTEXT lines:
2530Telnet ports are active; dump users?
2531:Dump them!
2532:NO!!
2533:Download selected items
5. Fixed bug #33 in bugs.451 where telnetd could not be executed again
(service port already bound) if it was quit while telnet ports occupied
and users have not yet logged off. Remedied by the addition of a
requestor that asks the sysop if telnet port users should be logged off.
If so, users are logged off and telnetd quits; otherwise telnetd does not
exit.
6. bbsmenu entry in menu "47; User Filedir Maintenance" changed from:
D,Delete
to:
K,Kill
7. bbsmenu entry in menu "47; User Filedir Maintenance" added:
D,Download Selected
8. bbstext line 2465 changed from:
z1c7[D]elete, [M]ove, [C]opy, M[a]kedir, [R]enamez0
to:
z1c7[K]ill, [M]ove, [C]opy, M[a]kedir, [R]enamez0
9. bbstext line 2466 changed from:
z1c7[N]ew path, F[i]lenote, Volume [L]ist, [K]=Run doorz0
to:
z1c7[N]ew path, F[i]lenote, Volume [L]ist, [E]=Run doorz0
10. Fixed bug #38 in bugs.451. Added capability of downloading selected items
to dmaint.
11. bbstext line 2464 changed from:
z1c7[B]=BBS command, [Z]=Search, [U]ploadz0
to:
z1c7[B]=BBS command, [Z]=Search, [U]pload, [D]ownloadz0
12. bbstext line 2460 changed from:
QP XHBZUDMCARNILK <-- hotkeys for ANSI mode; corresponds with menu hotkeys [] below
to:
QP XHBZUKMCARNILED <-- hotkeys for ANSI mode; corresponds with menu hotkeys [] below
Changes for v4.51
-----------------
1. Added SUSPEND ACCOUNT priviledge flag to each account.
Immediately after unprgading to this version, you should login
and do the following as there may be some garbage data in the variable
used for this proviledge setting:
1. Enter the command "EL 1-"
2. go to "Priviledge Flags"
3. Toggle "Suspend Account" (located to the right of "Previous screen")
until it is disabled (setting: "No").
4. EXIT
..this will set all your user accounts as NON-SUSPENDED. failure to do
this may result in some of your user accounts being suspended without
your knowledge.
2. Changes to the following BBSTEXT lines:
69:n1c9Note: c3your account has been suspended by the sysop.n1
173:ACCOUNT SUSPENDED
1645:Please enter and kill child subboards before killing this subdirectory.n1
2284:c7 2c4) c3Auto-decode MIMEc4:q1 %s
2290:Auto-decode binaries in your mail and attach as selectable files? [Y/n] ?1
2526:n1ARexx Item filing...
2527:h6ed!n1
2528:h8ailed!n1
2529:TelnetD
3. Fixed bug #13 in bugs.450 relating to mail scan/read ignoring user time
format preference.
4. Fixed bug #19 in bugs.450 where Mail-task spooled mail counter was not
reset/adjusted after sending spooled items or after resetting via Arexx
RESCAN command.
5. Added workaround for bug #22 in bugs.450.
6. Mail preference (MAIL;PREFS;2) added to enable/disable auto-decoding of embedded (MIME)
binaries in email.
7. Fixed bug #24 in bugs.450 where call log display of Control was not
reset after deletion of call log.
8. Fixed bug #30 in bugs.450 where telnetd was ignoring max-autoload ports
setting.
9. Tended to bug #31 in bugs.450: added setting in Config/telnetd for
"minimum available memory (kB) required" to prevent all memory from being
used up by telnet ports.
10. Tended to bug #32 in bugs.450: added logging of remote user IP to port log
when a telnetd session is tended by CNet telnetd.
11. Fixed bug #21 in bugs.450 by imposing restriction on killing of
subdirectory subboard objects. Only EMPTY subdirectories can be killed.
If there are subboards (or other subdirectories) present, a subdir cannot
be killed without first deleting the "child" subboard objects. This
clears up the final GO command bug and clears up yet another bug that
was responsible for creating "ghost" subboards.
12. newuser file systext:new/mailmime added to coincide with mime decode
mail option.
...bugs reported but not fixed in this release will be fixed in an
upcoming bugfix release.
Changes for v4.5
----------------
1. new CNet utility, SubboardUtil, added:
Full docs are available on the CNet WWW homepage at http://www.cnetbbs.net
SubboardUtil is an AmigaDOS CLI/Shell utility used to list non-killed subboards
and manipulate some of the attributes that are usually maintained without user
intervention.
At times, subboards4 may become corrupt in such a way that some of the CNet
utilities operate on a seemingly non-existant subboard or one that has been
deleted from your CNet base. It is these cases that made necessary,
SubboardUtil.
Here are the list of SubboardUtil args an an explanation of their purpose:
F=SUBBOARDFILE/K - This is an optional argument that can be used to specify
an alternative subboards4 filename to examine/operate-on.
The default is sysdata:subboards4.
L=LISTRANGE/K - this is an optional argument in which you may specify a
physical subboard number range of subboards to list.
default is "1-"
M=MARKKILLED/K - BE VERY CAREFUL WITH THIS OPTION!
this is the most dangerous SubboardUtil option.
here you specify a range of physical subboard numbers.
when used, this optional toggles the "KILLED" status of
a subboard.
You MUST NOT use this option on a subboard that is still
linked in your message base. that is, ALWAYS use the
online "KL" command to kill subboards from your subboard
list(s).
You may now ask yourself, "what is the point then??" the
point is, due to many possible external factors such as
upgrade executables, third party doors and, yes, even CNet
bugs themselves, subboards4 may become corrupted in such a
way that all seems well and good.. until you run some CNet
support door that starts working on a subboard that you
killed.. one that is not available from any online list.
We term these "ghost subboards."
When this happens, it usually means that the subboard has
been unlinked from the CNet subboard base but its
"killed" status has not been set. IT IS THIS CASE for
which SubboardUtil was designed.
So, "how do I find these ghost subboards," you ask?
Simple (and not so simple).. you first need to recognize
that there is a problem. that is, nntpget may start trying
to get news from a subboard that you know you have deleted.
Example:
Let us assume that the subboard was (thank John Hoyt for
this example as it was his real-case)
"alt.audio.pink-floyd" and the "go keyword" was
"Pink-Floyd"
what you would do is run SubboardUtil in a shell and
wait for it to finish rattling off a seemingly
never-ending list of subboards. when complete, look for
a subboard in the list named "235. alt.audio.pink-floyd
(Pink-Floyd)"
the "235." in this example is an important number and is
unique for each subboard. It is the physical subboard
number. It is this number that you specify when a
subboard utility expects a physical subboard number.
again, the physical subboard number is never duplicated.
it is always different for each subboard.
so, in our example, the physical subboard number of the
ghost subboard is 235. what we do now to completely mark
this subboard killed, so that no other utilities, CNet
doors and CNet itself does not attempt to access it, is:
SubboardUtil L=235 M=235
The L=235 argument was specified here only because we
don't want the whole list of subboards printed all over
again. We could have left it out and SubboardUtil would
have done it's job anyways..
The M=235 argument tells SubboardUtil to toggle the
"killed" status of physical subboard number 235. yes,
you read correctly, toggle. In the event that you make
a boo-boo and put the wrong physical subboard number,
you can "undo" the operation by repeating the same
command again. :)
Note that SubboardUtil does not affect "loaded" subboards.
that is, you will have to restart/reload CNet after
using SubboardUtil so CNet can re-read the subboards
file and re-order its pointers.
SubboardUtil also does not list killed subboards. In the
future, an option will be added to also list those. But
for now, until sysops get used to this utility, the
"power" options will be suppressed.
SubboardUtil features will also be added to the planned
CNet/5 SubboardEdit GUI (the ghosted button on Control)
2. Pointers userdata maintenance tool was not working correctly unless ran
as a CNetC door. Running it from an AmigaDOS CLI/Shell now works
properly.
3. Various *-task menufy/iconify/GUI-open bugs fixed.
4. Fixed problem(s) with Control not opening to its last state (iconifed, hidden
or GUI open) after quitting.
5. More CNet API cleanup..
Changes for v4.49a
------------------
1. unintentional GU shift reverted.
2. VDE defines corrected.
Changes for v4.49
-----------------
NOTE TO PROGRAMMERS-> ***** CNET AMIGA IS NOW Y2K READY/COMPATIBLE *****
AND 3RD PARTY DOOR ->
DEVELOPERS -> The "Year" member of the CNet IsDate structure now
functions as an offset. Its value is referenced to
the year 1900.
Example: if 100 is stored in the Year member, the actual
year is 1900+100=2000.
Example 2: if 25 is stored in the Year member, the actual
year is 1900+25=1925
Similarly, if you want to set the Year member yourself
and, the year you want stored is 1977, the value you
should assign to IsDate.Year is
1977-1900=77
therefore,
IsDate.Year=77
CHANGES 4.49:
1. Change to BBSTEXT line 1164
old 1164:n1Enter the year during which you were born:n1: 19
new 1164:n1Enter the year during which you were born:n1:
NOTE: Those who wish to do some year 2000+ (Y2K) testing, please test
CNet in as many post-2000 situations as possible by altering your
system clock.. and checking CNet dates.. Let us know if you
find any problems. If you notice any places where Y2K is not
supported (eg two digit dates) let us know that too. I have tried
to get as many as I could think of without 3rd party aid..
2. Coders: Added two new mail-task commands..
ARexx: RESCAN
SPOOLSEND
C: MT_RESCAN_MSG
MT_SENDSPOOL_MSG
RESCAN : Tells mail-task to free the resources used for the current
internal mail-spool list and rescan the mail spool directory.
SENDSPOOL: Tells mail-task to attempt to send the current list of
spooled messages.
Message details..
AREXX:
ADDRESS('MAILTASK_RX.1")
<COMMAND>
example:
ADDRESS('MAILTASK_RX.1")
RESCAN
C LANGUAGE:
Simply insert the following code as a function in your application
and pass the task portname and command number as args..
// ---------------8< snip snip >8-------------
void SendTaskMessage( char *portname, short cmd )
{
struct MsgPort *cpreplyp;
struct CMessage cpmess;
struct MsgPort *msgport;
Forbid();
msgport = (struct MsgPort *)FindPort( portname );
Permit();
if(msgport)
{
if(cpreplyp = CreatePort( 0, 0 ))
{
cpmess.cn_Message.mn_ReplyPort = cpreplyp;
cpmess.cn_Message.mn_Length = sizeof( struct CMessage );
cpmess.cn_Message.mn_Node.ln_Name = "control_rendezvous";
cpmess.command = num;
PutMsg ( (struct MsgPort *)msgport, (struct Message *)&cpmess );
WaitPort( cpreplyp );
GetMsg ( cpreplyp );
DeletePort( cpreplyp );
}
}
}
// ---------------8< snip snip >8--------------
eg. SendTaskMessage(MAILTASKPORT, MT_RESCAN_MSG);
note: SendTaskMessage() applies to all tasks, including
mail-task, file-task, yank-task and news-task although
the commands they accept differ.
*TASKPORT defines can be found in ports.h
All tasks respond to TASK_xxxxxxxx_MSG as defined in ports.h
Control responds to CTRL_xxxxxxx_MSG as defined in ports.h
3. Calls Logged counter was not being reset when "RL calls" was used
with positive delete confirmation.
4. (alpha bug #6) Blanked/dimmed port screens were not unblanking when a
telnetd session was detected.
5. alpha bug #7 fixed. (War: previously, you had to have "who/handle search
at login" option set for it to work - no longer)
6. various problems/enforcer hits & quirks with mail-task and cnsmtpd fixed.
(alpha bug #10 for instance)
7. cnSMTPd GUI layout altered to look similar to telnetd GUI for a uniform
look for CNet service daemons.
8. Not all *-tasks were responding to WRITE SETUP Control menuitem.
9. Various CNet API cleanup (some commonly used variable states now have
#defines for their states/values)
Changes for v4.48
-----------------
1. Telnetd output text changed to a more aesthetic look.
2. Fixed auto-close of auto-load telnetd ports.
3. Remote socket close/disconnect (carrier check for sockets) now handled properly.
4. TCP/IP stack close/quit/disconnect now handled properly.
5. fixed (Net)Finger output for remote sites.
6. fixed max autload-ports = 0 to be unlimited.
Changes for v4.47
-----------------
(See notes in "Changes for v4.46" for info about upcoming releases and CNet/5)
1. Config/modems selection was not being deselected when the pages were
ghosted.
2. dcc.h and ftp.h added to sdk/include.
3. various obsolete files removed from fd, pragma and include directories.
4. CODERS: added offset and guoffset.c to SDK/tools directory. These are two
parts of a getuser offset locator. To use it, simple note the structure
that you are interested in and the variable in that structure. Then use
offset as follows:
offset [V] STRUCTURE VARIABLE
where:
V is an optional argument to specify extended verbosity
STRUCTURE is the name of the structure where the desired
variable resides
VARIABLE the variable for which you are interested in
obtaining the GETUSER offset
For example, if you were interested in the "Handle" variable of PortData's
user1 structure, you would use:
offset PortData user1.Handle
If you were interested in the MyNewMail variable or PortData, you would
use:
offset PortData MyNewMail
** Note that offset and guoffset.c are based on off and offv as distributed
in Dotoran's CNet Getuser offsets package. To obtain the offv
functionality of offset, add the optional V argument to your offset command.
5. Fixed bug #163 - if you typed AT at the "end of item" prompt, CNet would
edit the attributes for the NEXT item in the subboard instead of the item.
currently being read.
6. Fixed bug #162 - you cannot log off of the BBS, using "O!." It just goes
back to the command prompt until you quit the door.
7. bugs #160-161 were fixed for v4.46 but not noted in !changes.#?
8. bug #'s 153-156 were fixed in previous versions but not removed from
bugs.xxx.
Changes for v4.46
-----------------
FIRST, A FEW NOTES FROM RAY ABOUT THE FUTURE:
This is the last pre 4.5 version. Those who originally paid Perspective
Software for CNet/4 will be required to remit $50.00 USD to ZenMetal
Software for continued CNet support.
Those who wish to PRE-PAY for CNet/5 at the reduced rate of $90.00 USD
may do so now and avoid the additional $50.00 charge. The tentative
price for upgrade from CNet/4 to CNet/5, if you do not pre-pay, is
$110.00 USD.
Also, the tentative list price of CNet/5 is $175.00 USD.
PLANNED CNET/5 FEATURES (IN NO PARTICULAR ORDER OF IMPLEMENTATION):
o telnet daemon (actually, part of the final 4.5+ release)
o FTP-FTN (Do fidonet over the internet!)
o Task Priority manager for CNet, ports and external doors/programs
launched by CNet or CNet's event scheduler (Cron).
o Removal of the 100 port limitation (in preparation for CNet
Amiga/PPC)
o The long-awaited CNet Programmer's Reference Guide in Amigaguide
form, which covers the complete CNet API - including reference for
all CNet shared and link libraries.
o ftp daemon
o httpd (for user web-page hosting)
o user web page editor (with HTML tag macros)
o cursor-controlled ANSI interface for item browsing, selecting,
reading, replying.
o Bi-directional transfer protocol support
o Latest XPR specification implementation
o Better AreaFix support for CNetToss
o More CNetIRC options (including DCC resume and chat and alias
initialization on entry)
o It will not do your laundry, sorry..
.. and many, many more features!
Lock in now and take advantage of this reduced OEM pricing!
On with the changes..
1. Early alpha release of CNet's new telnetd.
notes: CNet's telnetd will (currently) spawn ONLY CNet ports. If you want
to run trapdoor or a getty on your telnetd line(s), you will have
to continue/start using telnetd.device or similar.
OPTIONS: In config/telnetd are 2 options
AUTO-LOAD PORTS:
- should be checked if you want telnet ports to be loaded as
required.
- If not checked, only loaded telnetd ports are considered for
telnet login.
MAX. AUTO-LOAD PORTS:
- the maximum number of ports to auto-load. (0 = unlimited)
- **currently** 100 ports max; including ports already loaded and
non-telnetd ports)
COMMAND LINE OPTIONS:
V=VERBOSITY/K:
- of no real use at present but used to specify shell
output/logging verbosity.
eg. telnetd v=2
P=PORT/K/N
- specify an alternate number of the port to use for telnetd
- default port is the port number found in your TCP/IP
stack's tcp/telnet db (database) entry.
examples. telnetd p=2065
telnetd port=1091
W=PASSWORD/K: (not yet implemented)
- a rlogin password that will be required from the user before
telnetd will allow a CNet port to be spawned.
telnetd *can* be ran multple times, although, currently there is no real
purpose to this. In the future this will be of use for access-control
and restricted port login options.
2. Added "T=RUNTELNETD" option to Control's CLI/Shell options so that telnetd
can be started by Control when it runs.
As with all CNet internet servers invoked by Control, the following
requirements apply:
1. Control looks for telnetd in the directory assigned as CNET:
2. Your TCP/IP stack should be up and running before Control runs.
3. bug #116 fixed - Trashing of status line ("**NULL POINTER**") after using
/SERVER command in CNetIRC.
4. Release version 1.0 of the cnet.library reference guide which is just
one in a series of guides to be released as part of the "Programmers
Reference Guide To The CNet Amiga API" See the SDK/reference directory
for the AmigaGuide version. An HTML version will be later placed on the
CNet Amiga support web page at http://www.cnetbbs.net
Changes for v4.45
-----------------
1. Increased speed of initial account caching during Control boot.
2. Fixed the infamous OLx!;blah;EU;FIx bug.
3. Corrected some subboard path conflicts that could cause crashes or possibly
corrupt item data files.
4. Began internal telnetd code.
5. Release v4.45 prematurely (before telnetd completion) so sysops may once
again have a stable release to work with.
6. Various vote fixes made by Kelly Cochran (vote is his baby ;)
7. Changes to the following vote-related BBSTEXT lines:
1526:You do not have access to add vote topics.n1
1547:n1Kill topic %d (%s): are you sure [Y/n]? ?1
1572:n1Topic %d does not exist.n1
1581:Maximum # of choices (minimum 2):
1582:Number of floats:
1584:You do not have access to examine vote topics.n1
1593:n1Topic %d does not exist.n1
1594: %3d %sn1
1599:n1Invalid topic %dn1
Changes for v4.44
-----------------
3RD PARTY CODERS: YOU WILL PROBABLY HAVE TO RECOMPILE ANY OF YOUR C DOORS THAT
REQUIRE CNET.LIBRARY FUNCTIONS DUE TO CNET.LIBRARY RE-ORGANIZATION AND CODE
OPTIMIZATIONS.
1. Fixed GETUSER 13/14 (z->MyMail and z->MyNewMail) updating when mail items
are moved or deleted from INBOX.
2. Fixed a bug that may have caused crashes/software failures when
^C was used to interrupt NNTPGet.
3. Sum of file sizes in each subboard now displayed when entering a file
area.
4. Changes to BBSTEXT lines 817-818
817:c7: c5%4d c7file (%ld bytes)
818:c7: c5%4d c7files (%ld bytes)
5. Account cacheing addded to CNet to provide faster loading of user accounts
and generally faster operation of mail, news and file posting and any
activities which reference user/account data..
6. Cache size configuration options added to CNet Config/Limits. You may
specify a number of accounts to be dynamically cached or check "Cache all"
to have all accounts cached. For maximum efficiency, if you have the RAM
to spare, cache all accounts; otherwise specify a number of accounts to
cache where each cached account (currently) = 686 bytes.
eg. a cache setting of 50 would use a maximum of 38300 bytes of
memory at all times; assuming there are at least 50 users in your
system user data. Note that this figure could change in the future
as other data is added to the CNet UserData structure.
7. The following functions are new to cnet.library:
struct CNUserCache *UCacheInitUser(short account);
Initializes a cache entry for the user belonging to the specified account.
Do NOT call this function on a previously initialized user. Check
for this case by using UCacheLookup() first.
Returns:
pointer to struct CNUserCache on success.
NULL on failure.
struct CNUserCache *UCacheLookup (short account);
Obtain the existing cache entry for the specified user account.
Returns:
pointer to struct CNUserCache if user is already cached.
NULL if user is not cached.
short UCacheRead ( short account, struct UserData *user, short numaccounts);
Read a sequential block of user accounts from the CNet user
cache.
This function will be later expanded to support random
block access via CNet range format.
If a user is not already cached, it will be cached and a pointer
to the the cache entry returned.
tips: specify numaccounts=1 to read a single account.
To read a BLOCK of accounts, the "user" variable must be a
block of memory at least as large as
numaccounts*sizeof(struct UserData)
short UCacheWrite ( short account, struct UserData *user, short numaccounts);
Write a sequential block of user accounts to the CNet user cache.
If a user is not already cached, it will be cached and return a
pointer the the updated cache entry.
tips: specify numaccounts=1 to write a single account.
To write a BLOCK of accounts, the "user" variable must be a
block of memory at least as large as
numaccounts*sizeof(struct UserData)
void UCacheDispose(void);
Under normal usage, this function should never be required and
its use other than for CNet shutdown purposes will most likely
degrade system performance.
Control calls this function to free all cache memory before
exiting.
Note that the user cache is PRIVATE data. You cannot safely "walk"
the user cache list as it is private cnet.library memory. You CAN
"emulate" walking the cache/userlist by using UCacheLookUp() in a loop
from 1 to myp->Nums[0]
Note that LockAccount() and UnLockAccount() support CNet cache
functions. You are not required to use the above functions if
you only wish to lock, access/copy and then unlock user data.
The CNUserCache structure can be found in SDK/include/users.h.
8. AMaint now filters MCI in logged subboard names.
Changes for v4.43
-----------------
UPDATE NOTE: IF YOU HAVE NOT **PREVIOUSLY** DONE SO, RUN THE UPDATE
EXECUTABLE CNET:UPDATE/442 IN AN AMIGADOS SHELL AFTER
INSTALLING EITHER CNET VERSION 4.42 or 4.43.
UPDATE NOTE 2: YOU MUST RUN THE AMIGADOS EXECUTABLE CNET:UPDATE/443 IN
AN AMIGADOS SHELL AFTER INSTALLING BUT BEFORE RUNNING CNET
VERSION 4.43.
1. #?-task iconify/menufy and window positions are now only saved when
the Control screen menu WRITE SETUP is selected. This means, you position
your task GUIs where you want them, iconify, menufy or leave the windows
open and then select the Control WRITE SETUP menuitem and the states of the
tasks are saved.
2. Fixed garbage text that was printed when "DS" is used.
3. Fixed file selecting in DM/DMaint/CNetCommander.
4. Mail-task ARexx port fixed.
5. Corrected a typo in the CNET:REXX/#?mailtask#? scripts where the mail-task
ARexx port was wrongly addressed as MAILTASK_RX instead of MAILTASK_RX.1
6. Added LOCAL VIEWER string to Archiver configuration. If this setting is
not empty and the online user is in LOCAL MODE, the command used here will
be used to view/examine a file when the [E]xamine command is used within
CNet and CNetCommander.
For example, you may set up a .guide ArcType and have the local viewer
set as "MultiView %s" for OS3+ or "AmigaGuide %s" for OS2.1+. When a
.guide file is examined, Multiview or AmigaGuide will be used to view the
file. When regular remote online users use examine, the archive will be
examined using the regular archive view command.
7. ViewTypes added to Archiver View command. Due to the rising need to view
non-native CNet file types (eg. Amigaguide, HTML, etc) to users, this
setting has been added to CNet. This allows you to set more than just
a "piped" AmigaDOS shell command to be used for archive "viewing".
For example, for the View command, you may set "Moretext %s" at the command,
and set the ViewType (the button just to the left of the view command)
to "Shell" and the user now has interactive control over the viewer;
allowing him to use his keyboard to "control" the viewer.
NOTE: All previous VIEW types should be set to "PIPE" unless you change
to a method other than output redirection, which is the only
method that previously existed. The update executable "443"
sets all old archiver view types to PIPE.
NOTE 2: "redirection" is simply a way of piping output-only
text to CNet Amiga for display. Redirection can
be distinguished over other types by the presence of a
greater-than operator (>) in a view command.
eg:
type >%s "%s"
as opposed to:
mycommand %s "%s"
the former type is a PIPE redirection where the latter is either
a Shell, CNetC or ARexx command.
A rough guide of deciding which ViewType you need is:
1. Run the command in a regular AmigaDOS shell (unless the command is
a CNetC executable or ARexx script).
2. If the command is interactive, allowing you to use your cursor (or
other) keys to control the program, then you should set the ViewType
to SHELL and use the following view command template as a guide:
view_command "%s"
3. If the command simply displays the output to your shell then set the
ViewType to PIPE and use >%s in your view command as per the
following guide:
view_command >%s "%s"
Following are the Viewer settings for a .guide file-type:
View Command: MoreText "%s"
View Type: Shell
Local Viewer: AmigaGuide "%s"
8. GETUSERs 13 and 14 are now set at logon and updated when new mail is
received.
9. dmaint bug fixed where ESC key caused unusual/hazardous results by
issuing improper commands when arrow/cursor keys used thereafter.
10. Changes to BBSTEXT line 502.
502:n1Total Space: c7%d%% q1of c7%6s q1Used.q1 c7%7s q1Free.n1
11. Fixed repetetive printing of info about EACH partition upon subboard entry.
12. For those who liked seeing info about all partitions, a "PARTS" command
has been added to the new base, new message, and browse menu section of
BBSMENU. You may use this command to obtain info about your BaseX:
partitions.
If you use the PArts command in a subboard, you will see info only about
all valid partitions of that subboard.
If you use the PArts command at the "main" menu, you will see info about
all available partitions, from 0 to the number configured as "max BaseX:
partition", in CNet Config.
13. Added BBSTEXT line 2525.
2525:n1Partition c7%dq1: c7%d%% q1of c7%6s q1used, c7%7s q1free.
14. Fixed potential security problem in dmaint.
15. Added "lastcommand" ARexx command to CNETREXXn ARexx port. This command
is used to find out the last command entered by the user on any given
port.
16. Fixed bug where use of BOTLOGON ARexx command did not un-blank/dim the
CNet port.
17. Read log (RL) command made non-re-entrant.
18. ARexx "OLM" command added to BBS ports (portname CNETREXXn where
n=a valid port number)
Syntax: OLM <from port> <message text>
If <from port> is 100, then the OLM is treated as a system OLM.
ex. Send an OLM to port 0, adressed as if it were from
the user on port 1:
address CNETREXX0
OLM 1 This is an OLM test
ex. Send a SYSTEM OLM:
address CNETREXX0
OLM 100 This is an OLM test
19. First compile of 030 versions of key CNet executables.
20. Implemented a "hiwater" method of receiving usenet news using the
USEHIWATER option of NNTPGet. With this option you MUST still supply the
NEWNEWS arg of NNTPGet.
Many ISPs disable the NEWNEWS command in order to reduce the CPU usage
of their local-machine NNTP server and reduce the load on their system.
The USEHIWATER option should be used ONLY if your ISP has disabled the
NEWNEWS command of their NNTP news server as the NEWNEWS command is still
the most efficient (fastest) method of receiving new news.
eg. NNTPGet S=news.myserver.com NEWNEWS USEHIWATER
OR
NNTPGet S=news.myserver.com N U
You may, of course, omit the news server part of this command if you have
your news server configured in CNet Config/Defaults/News Server
Changes for v4.41/4.42
----------------------
UPDATE NOTE: YOU MUST RUN THE AMIGADOS SHELL EXECUTABLE CNET:UPDATE/442 IN
AN AMIGADOS SHELL AFTER INSTALLING BUT BEFORE RUNNING CNET
VERSION 4.42.
1. [J]oin command (join subboards, not join conference) hits fixed.
2. Fixed MimeEd screen problem with non-lace workbench configurations.
3. file-task now adds a filenote to received DCC files: "From: <nick>"
4. Added BBSTEXT lines 2435-2524.
2435:ITEM UPDATED:
2436:From: %s
2437:[DIR]
2438:%ld
2439:c7%3d. %s%-24.24s %s%9.9s q1
2440::2c7%s:0q1
2441:n1c4[c7Dc4]c6eletec4, [c7Ec4]c6xaminec4, [c7*c4]=c6Select, c4[c7RETURNc4]=c6Nextn1
2442:n1FileMaint:
2443:n1Delete %s? [Y/n/a/q]
2444:YNAQ
2445: {}
2446: {}
2447: All!n1
2448: Quit!n1
2449: %s deleted.n1
2450: n1Could not delete %s because:
2451: Directory %s not empty. You must delete the files within first.n1
2452: n1unknown error.
2453: n1Press any key..g1n1
2454: c5
2455: c2
2456:c1
2457:c6
2458:n1You are already at the root directory.n1
2459:n1That directory is empty.n1
2460:QP XHBZUDMCARNILK <-- hotkeys for ANSI mode; corresponds with menu hotkeys [] below
2461:z1 z0
2462:z4 z0
2463:z1c7[ENTER]=Examine, [UP], [DWN], [Q]uit, [P]arent, [Space]=Select, [X], [H]elpz0
2464:z1c7[B]=BBS command, [Z]=Search, [U]ploadz0
2465:z1c7[D]elete, [M]ove, [C]opy, M[a]kedir, [R]enamez0
2466:z1c7[N]ew path, F[i]lenote, Volume [L]ist, [K]=Run doorz0
2467:z4Path: %-50.50s %21.21sz0
2468:%ld selected
2469:f1
2470:z4Directory empty!z0
2471:z4Internal error; can not find item. :(z0
2472:z4%sz0
2473:%s selected
2474:%s unselected
2475:Max selections per batch reached.
2476:%-25.25s %9ld %-38.38s
2477: {}
2478: {}
2479:>
2480:
2481:z4c3BBS Command: cf
2482:z0
2483:Invalid command..w1
2484:Not empty. You must delete the files within first!
2485:failed
2486:unknown
2487:%s deleted
2488:z4c3Makedir: cf
2489:z4c3New Path: cf
2490:%-35.35s %-38.38s
2491:z4c3Filenote: cf
2492:%s is read-only
2493:
2494:z4c3Examining %s..cf
2495:CNet Commander Help
2496:Volume/Assign list
2497: %s
2498: [DIR] %s
2499: [VOL] %s
2500: [ASN] %s
2501:z4c3Getting directory %s..cf
2502:z4c3Move to/as: cf
2503:%s moved as %s
2504:z4c3Copy to/as: cf
2505:z4c3Rename as: cf
2506:z4c3Amiga[D]OS/[C]NetC/[A]Rexx or [P]aragon? cf
2507:z4c3%s door path/filename: cf
2508:AmigaDOS
2509:CNetC
2510:ARexx
2511:Paragon
2512:{}
2513:{}
2514:{}
2515:{}
2516:{}
2517:z4c3Search pattern (wildcards allowed): cf
2518:z4c3Recurse into subdirectories? [N/y] ?0 cf
2519:z4c3Searching.. please be patient..cf
2520:z4c3Upload filename: cf
2521:z4c3Uploading..cf
2522:z4c3That command cannot be executed in local mode.cf
2523:!
2524:Directory empty.
5. Added BBSMENU item "DM" to the "2; Available Everywhere" section.
6. Added BBSMENU SECTION "47; User Filedir Maintenance"
7. 3RD PARTY PROGRAMMERS/CODERS:
Added new cnet.library API functions for reading/scanning/searching
directories and the DOS volume/assign list. Here are the prototypes
(also see sdk/include/protos/cnet_protos.h).
IMPORTANT NOTES
For better door functionality, all functions used by CNetReadDir() are
also accessible to the CNet door programmer. You may use these
functions to build (or add to) your own directory lists or even get
an assign/volume list. However, There are some things to note:
Be aware that the TOP entry of a CNetFileEntry list is just a directory
PLACEHOLDER. This placeholder is a CNetFileEntry structure with
it's filename field being that of the full path to the directory
represented by the list. The parent variable of this list placeholder
should be set to the parent list (if any) that is to be linked to. If
the parent variable is NOT set (eg. CNetFileEntry.parent==NULL), then
the user cannot regress any further "back" than the current directory.
Also note that YOU must create this header yourself by calling
CreateDirEntry(), assign your list pointer to the pointer returned and
then you MUST strcpy() (or sprintf()), to the filename variable, the
full path to the directory under examination. If you do not fill the
header entry with the full path, CNetReadDir() may not work correctly.
Also note that if you use CNetReadDir() to read a directory, you do not
have to worry about creating the list placeholder. CNetReadDir does
this internally. The only time you need to worry about creating the
list header is if your are building a filelist by hand.
If you want to ADD to a CNetFileEntry list (eg. after using CreateDir()
to create a new directory or after having a file copied to a directory
represented by the current list) you can do so simply by calling
InsertDirEntry(), but **ONLY after** either creating the list header and
attaching it as the FIRST structure in your linked list of
CNetFileEntry structures or by having already called CNetReadDir()
previously.
The CNetFileEntry structure is defined in sdk/include/files.h.
See ReadDirTest.c for example CNetReadDir() usage.
See ReadDirTest2.c for an advanced example of creating a filelist using
the discrete cnet.library functions.
Prototypes/Descriptions:
struct CNetFileEntry *CreateDirEntry (struct FileInfoBlock *fib);
Allocate memory for a CNetFileEntry structure and return pointer to a
mem block or NULL if fail. CreateDirEntry expects a
pointer to FileInfoBlock structure. This structure is used/filled by
dos.library's Examine()/ExNext() functions. You may also "fake" a
FileInfoBlock by allocating memory and filling the FilInfoBlock
structure variables, therafter call CreateDirEntry(). CreateDirEntry
is "directory aware" in that CNetFileEntry's ftype variable is set to
1 for directories and 0 for regular files. Other internal uses set
ftype to 2 for volumes and 3 for assigns.
void InsertDirEntry (struct CNetFileEntry **list, struct CNetFileEntry *newentry);
Insert a CNetFileEntry into a list, sorted alphabetically; DIRS first.
struct CNetFileEntry *CNetReadDir (char *path, UBYTE recurse);
Read a complete directory into a linked list of CNetFileEntry structures with
parent/child directory retention and next and previous file entry linking;
with recurse option.
void CNetDisposeDir (struct CNetFileEntry **list);
Free the COMPLETE file list tree as returned by CNetReadDir() or created
using CreateDirEntry() calls.
struct CNetFileEntry *GetDirEntry (LONG ordinal, struct CNetFileEntry *list);
Get a pointer to the CNetFileEntry specified by the ordinal number, with the
first usable file entry being entry number 1.
LONG CountDirEntries (struct CNetFileEntry *list);
Count the number of entries on the current list (not including parent and
child entries nor including the "path placeholder/header" entry)
struct CNetFileEntry *FindParent (struct CNetFileEntry *list);
Return a pointer to the PARENT dir if found; else returns pointer to the
same list passed as list arg.
struct CNetFileEntry *NextDirEntry (struct CNetFileEntry *list, struct CNetFileEntry *nowentry);
Return a pointer to the next file entry or NULL if none.
struct CNetFileEntry *PrevDirEntry (struct CNetFileEntry *list, struct CNetFileEntry *nowentry);
Return a pointer to the previous file entry or NULL if none.
struct CNetFileEntry *HeaderEntry (struct CNetFileEntry *anyentry);
Return a pointer to the header file entry.
struct CNetFileEntry *LastEntry (struct CNetFileEntry *anyentry);
Return a pointer to the last file entry in the list or NULL if list empty.
LONG EntryOrdinal (struct CNetFileEntry *entry, struct CNetFileEntry *list);
Return the ordinal number of the specified file entry pointer, relative to
the top of the current list.
struct CNetFileEntry *GetVolAssList(void);
Get a list of system volumes and assigns and return a pointer to the
list.
struct CNetFileEntry *CNetSearchEntry (struct CNetFileEntry *list, struct CNetFileEntry **destlist, char *pattern, UBYTE recurse);
Search a CNetFileEntry list for files matching an AmigaDOS file pattern.
Includes option to search sub-directories (recurse).
Do to recursion and addition of the "matches" to a single tier list,
this function allows you to specify a list pointer (destlist) to which
the matches will be attached and returns a pointer to that same
list. If no destination list pointer is passed, a new linked list
is created and a pointer to that list returned if matches are found.
Also note that the full path to the matched entry is set as the
CNetFileEntry filenote. This was done to allow easy display of
the filename (using FilePart()) in a fixed width output string
while allowing SelectAndDownload(CNetFileEntry.filename) to be used
for selecting and downloading resultant matches.
See the SDK/EXAMPLE_SOURCE directory example "CNetFileFind.c" for
indepth usage of CNetSearchEntry().
8. Removed the 20 archiver limitation.
Changes for V4.40
-----------------
1. cnSMTPd VRFY command now allows user@host input where recognized hostnames
for the local system are any of the hostnames defined in config/smtpd.
Note that cnSMTPd VRFY replies with the hostname configured in the
config/MAIN page.
Also, since cnSMTPd does not do forwarding, users at other hosts are not
examined and thus an error (case: unknown user) is returned to the
querying system.
2. CNetIRC now re-sets the Where/Doing field after a successful "everywhere
command" is used. Some BBS functions previously changed this field and
CNetIRC did not reset it.
3. Commodity status of Control now complete. The "Hide Interface" button
of Exchange will remove ALL "visible" indications that Control is running,
whether it be iconified or GUI opened. The "Show Interface" button of
Exchange notifies Control to makes its GUI visible. The "Remove" button
of Exchange quits Control WITHOUT the "Are you sure you want to quit
Control" prompt being displayed.
4. Bug-fix .. Cron could be executed while already running.
5. Fixed a mail yanking bug where the mail "TO" user was not filled in the
resulting QWK packet.
6. Fixed a memory leak (present since CNet v4.0) where, in some cases, memory
allocated for events would not be freed. Memory would slowly trickle away
at the rate of a low number of bytes (multiplied by the number of events
configured) every 3 seconds. This bug could have had the potential to eat
large amounts of memory if you had many events configured and in a
contiguous time block (eg. no "rest" time between events). After fixing
and testing with over 50 events configured, this bug is history and no
more memory leaks exist.
7. Fixed a bug where some events would not be executed.
8. Fixed bug induced in v4.39 that caused uploads to get the wrong
description and/or possibly write the wrong description (and AmigaDOS
filenote) on other files.
9. Amaint, by default, now UPDATES items if their file size or AmigaDOS date
has changed. To disable this feature, use the amaint "noupdatefiles" arg.
Note that this feature now tags MISSING files also so, if you choose not
to disable this feature, the "missing" door is no longer required unless
you want to specifically find/mark only missing files without requiring
other duties of amaint.
10. Mail spool files were being corrupted. New format for spool files prevents
this. Spool files created before this fix cannot be recovered.
11. Fixed discrepancy in the cnet TIME command where user logon time and
length of time online did not corroborate.
12. sysdata:log/UUMAIL added for logging of internet mail imports by mail-task
and/or iuumail.
Changes for V4.39
-----------------
1. Fixed enforcer hits/port lockup when "/server <server name>" was used in
CNetIRC.
2. Fixed Control & #?-tasks public screen handling. No longer does Control
keep a lock on the public screen it opens on. Un-Iconify/Menufy now
arbitrates the task/Control window to the public screen again.
3. Fixed internet mail import (UUMAIL) so that "corrupt" mail items do not
cause mail-task/iuumail to skip good messages in incoming user e-mail
batches.
4. CNet version numbering of myp->s1 is now consistent with "VERSION" reply.
eg. VERSION = 4.28c myp->s1 = 4283
VERSION = 4.29a myp->s1 = 4391
VERSION = 4.39 myp->s1 = 4290
Note how the last digit of s1 is the numeric representation of the
letter in the CNet version string.
5. Control display quirk fixed where IDLE TIME may have been displayed as
excessively large (and incorrect) values.
6. OLM prompt now displays the number of OLMs waiting to be displayed.
Currently, this counts system OLMs. This may or may not change in the
future.
7. Change to BBSTEXT line 895.
<New format for bug-fixes begins>
8. Fixed bug-report #60 - "ML twice in a row causes potential lockups"
9. Fixed bug-report #119 - "If you use ML to move an area into an empty
subdir, it will not work."
10. Changes to BBSTEXT lines 1780-1781.
11. Fixed bug-report #127 - "Any direct/msg/file area that exists on main level
will not have proper prompts set when entered."
12. Expanded CNet's "SubDoing" facility to it's most powerful state. If you
set a doing for a SUBDIRECTORY in the "EL" VDE of that subdirectory, you
are now setting the "Where" string for the whole sub-tree. Any subboard
that does not have a SubDoing set, will have it's doing set to the nearest
parent subdirectory SubDoing string.
To elaborate; Consider the following subboard tree:
Aminet -
|
|-- biz
|
|-- comm -
|- bbs
|- cnet
If only the aminet subdir has a SubDoing of "Aminet mirror" set on it,
this Subdoing will be displayed when entering any of the tree elements
below it.
However, if the subboard "bbs" has a SubDoing also, in entering the bbs
subboard, that Subdoing string will be displayed. Entering any other
subdir or subboard in that tree structure will get the aminet default
subdoing string displayed.
Further consider that, if the "comm" subdir also has a SubDoing of "BBS
software" set on it, only it and any of it's child subboards (eg. "cnet"
in this example) would have that doing displayed, when entered. The "bbs"
subboard would still get it's custom SubDoing displayed and, all subboards
and subdirs above the "comm" directory would get the default aminet
SubDoing displayed.
13. Fixed bug-report #128 - "OLMs are @#$%ing up SplitChat"
14. Fixed bug-report #130 - "Config/defaults/SMTPd timeout can only be set to
a value greater than or equal to 61. (60 seconds and up are valid values)
15. Fixed bug-report #131 - "In user-ed, date settings required HH:MM to be
added to input date strings and gadget would not accept them." Limitation
removed. Only DD-MMM-YY are now required.
16. Fixed bug-report #132 - "Using MO in mail to move an item into the same
folder it's already in will delete the item." RESTRICTION IMPOSED: You
may not move a mail item to the same folder it is already in.
17. Change to BBSTEXT line 720.
18. Fixed bug-report #133 - "If you have an area dropped, GO will not find
it."
19. Fixed bug-report #134 - "Control hangs when iconified or menufied and is
sent ARexx message/command."
20. Fixed bug-report #140 - "OLM count is decreasing even for redisplayed OLMs
(./Again command)."
21. (no bug-report #) Fixed MORE? prompt that was prematurely displayed after
reading each OLM.
22. Fixed bug-report #142 - "If you read a file item and then try and "AT" it
at the "respond" prompt, nothing happens."
23. Fixed bug-report #139 - "BBS is not giving file/byte credit rewards to
file uploader when another user downloads their uploads." Note: rewarding
WAS working but no mail mail was being sent for notification of reward.
24. Imported mail is now sorted by IMPORT date rather than SENT date when
Newest First or Newest Last are set in EP.
25. Fixed bug-report #137 - Mail is now sorted by RECEIVED (import) date
rather than sent date.
26. Added VRFY command to SMTPd.
27. Auto-anonymous FTP added to cnFTP with mail-address sent automatically
for anonymous logins. Over-ride defaultemail address using the P=<pass>
option.
28 DOSOLM now has an "I=IGNOREOWN" switch to prevent DOSOLM from sending
an OLM to the "F=FROM" port.
For those who don't know what DOSOLM is, it is an AmigaDOS door/command
that allows you tosend OLMs to/from online users from CLI/Shell and/or
ARexx/AmigaDOS scripts.
DOSOLM will now be bundled with CNet Amiga. Note that DOSOLM is still a
"Metal Software" product and is included as a "contributor" item.
29. The "F=FROM" argument to DOSOLM can now be a port RANGE.
30. Boot dates added to Control and each BBS port. These dates are currently
in the status text displayed when the CNet [T]ime command is used online.
31. Changes to BBSTEXT lines 287-291.
32. BBSTEXT lines 2411-2420 added.
33. coders: New function in cnet4.library; CNetUpTime()
This function is used to form a string which states the amount of time,
elapsed since some past time, relative to "current time".
syntax:
output_str_ptr=CNetUpTime(output_string, time_diff_in_secs)
CNetC example:
char utstring[70]; // "xxx years, xxx weeks, xxx days, xxx hours,
// xxx minutes and xxx seconds" possible.
// more space required if you use MCI in BBSTEXT
ULONG uptime;
uptime=CNetTimeNowDiff(CNetImplodeTime(&z->BootDate));
CNetUpTime(utstring, uptime);
sprintf(z->ABuffer, "Time passed since port booted: %s\n",
utstring);
CNC_PutA();
More compact version of above example:
char utstring[70];
ULONG uptime=CNetTimeNowDiff(CNetImplodeTime(&z->BootDate));
sprintf(z->ABuffer, "Time passed since port booted: %s\n",
CNetUpTime(utstring, uptime));
CNC_PutA();
NOTE: if no time has passed (eg. no time diference), a blank string
("") will be returned.
NOTE2: This function, like most other CNet library functions, requires
Control to be running.
35. CNetUpTime() routine implemented in ReadOLM() to replace lame
"xx:yy mins ago" text.
34. Changes to BBSTEXT lines 893, 898 and 920.
35. Toss now states that it is already running if executed a second time.
Previously, it exited without the verbosity.
36. Fixed quirk in cnet:close in which a "garbage" option (eg. "cnet:close dsflkj")
caused all ports to be closed.
37. UserInfo gadget is now enabled when an online user is selected and disabled when
an unoccupied port, offline port or no port is selected.
38. Command UPTIME added to the end of BBSMENU section "2; Available everywhere".
39. BBSTEXT lines 2426-2427 added.
40. AmigaDOS "UPTIME" command created for use in scripts and local/offline
situations.
Changes for V4.38
-----------------
1. Added RESUME to cnFTP.
2. Added BBSTEXT line 2402.
3. Added REGET command to BBSMENU section 46 (CNet FTP Menu). This command
is usually unnecessary as CNEt auto-detects existing files but has been
added for a complete implementation. This command may also be used
instead of "get" to FORCE resume of a file.
4. NEW split-screen chat added to Chat Chat (CC)!! Use CTRL-T to toggle your
preferred chat mode. Chat mode preference is saved at logoff after toggled
while in chat. Because of this there is no need for a chat preference item
in EP so don't go looking for one. :)
5. BBSTEXT lines 2403-2409 added.
6. Change to BBSTEXT line 929.
7. Changes to BBSTEXT line 2406.
8. CNetIRC now respects a user's private real name status.
9. IMP AmigaDOS/script fidonet msg processing fixed.
10. Mail alias kill "name" field expanded to the proper maximum length.
11. CNetIRC was previously reading too many characters in the server field,
NULLing out the server name.
12. Cleanup of some file-task DCC quirks such as removing completed and aborted
requests from the file-task process/queue listview.
13. Carrier drop in ARexx doors no longer results in an enforcer hit.
14. Where/doing field of control was not updating due to a subboard locking
bug which locked up amaint and any other doors that operated on subboards.
15. Change to BBSTEXT line 2380.
Changes for V4.37
-----------------
1. CPS display added to cnFTP transfer status.
2. Mailing-list gated msgs are now showing in NM scan.
3. Change to BBSTEXT line 2396.
4. Added "SMTPD Temp" path to Config. MAKE SURE you set this variable to
a large partition in case a large (eg. MEGABYTES) e-mail is received.
If SMTPD TEMP is not specified, "T:" is used as default.
5. Trailing digit now added to attachment filename (to create unique
filename) only if the file-attach exists in unmolested state.
6. CNetIRC Channel list is now cleared when changing servers.
7. Entering "GO <unknown go key>" in a Door/List area no longer results in CNet
returning to MAIN after pressing return at the GO prompt.
8. Removed enforcer hit(s) that occurred when user used upload file-attach.
9. Fixed "More?" prompt during mail alias list.
10. Fixed enforcer hit(s) that occurred in CNetIRC when users had no servers
configured and pressed ENTER to connect to the default server.
11. CNet's identd was sending "-1@domain" if there was no ROOT USERNAME defined
in CONFIG/DEFAULTS. CNet now sends "bbsuser@domain" if ROOT USERNAME is
not set.
12. Fixed file-task ARexx port which was previously not responding unless the
file-task window was opened. The result of this bug was that the calling
process/task (that ran the arexx script for file-task) locked up. This
was most noteable in CNetIRC duting a DCC send/get.
Changes for V4.36
-----------------
1. A dedicated CNet FTP client has been added! This client accepts
CLI, CNetC, BBSMenu and MCI lanched args. An arg template can be found on
BBSTEXT line 2380.
argument template:
R=RemoteSite,P=RemotePort,D=RemoteDir,L=LocalDir,S=ControlScriptName,
L=LoginName,P=LoginPass,A=Account,G=GetFilename,O=AutoQuit
Arguments should be separated by spaces. Arguments that may have a space
embedded within should be enclosed in double quotes (").
There are a lot of "to-dos" for this client. This first alpha/release is
to get something out there so that CNEt sysops do not have to sacrifice
the security of their systems by allowing their users to use ncFTP online.
There is no cnFTP SEND command yet. Send will be implemented for the next
alpha/beta release.
Note: Downloaded files, gotten using the FTP "get <filename>" command
are downloaded to the users' MAIL:USERS/<mail_id>/FILES/ directory
where <mail_id> is the user's UUCP/MAIL-ID.
2. Added BBSTEXT lines 2364-2394 (see !bbstext_stock)
3. Added BBSMENU section 46. (see !bbsmenu_stock)
4. Background file-task transform should now process files that are not
a testable format.
5. Progress output added to FTP get.
6. Added BBSTEXT lines 2395-2398.
7. Changes to BBSTEXT line 2390.
8. Added carrier check (!!) to cnFTP.
9. Added remote connection check to commands affecting remote site (LS, GET, etc).
10. Added Menu systext:menu/ftp
11. Added FTP "SEND" support.
11. Added BBSTEXT lines 2399-2401.
12. Changes/Additions to entire BBSMENU section "46;CNet FTP Menu".
Changes from V4.33a to V4.35
----------------------------
1. Added DCC STATUS listview to file-task. This listview shows ALL active
DCC sessions.
2. Bugfix where DCC listview display was trashed when file-task menufied or
iconified and re-opened.
3. Added DCC logging. Add the following log entry to config/logs:
LOG NAME: DCC
LOG ID: 414
4. Added new cnetircvar ARexx hooks to CNetIRC as described below.
"cnetircvar p" returns the PortData address of the current port.
"cnetircvar m" returns the MainPort address.
5. Fixed DCC SEND bug which effectively doubled the number of bytes sent.
6. Fixed a Toss problem where out-of-zone echomail was being sent to bad if
the zonegate had the same node number as the receiving node.
7. Fixed mail bug in which FIDONET file-attaches were not being added to
outbound .FLO file.
8. Fixed port lockup problem when using BBS commands (eg. backslash \ commands)
while in CNetIRC.
9. Fixed Control guru when "Control ?" was used and bad/unknown arguments
were entered.
10. Vote rewritten as a 3rd party project by Kelly Cochran. (thanks Kelly).
11. Fixed mail upload-attach description prompt.
12. NO SIGNATURES flag was being ignored by Usenet News subboards.
13. User mail ID is now configurable by the USER at login. After initially
set by the user, only the SYSOP may change mail ID.
14. ANSI detect is now an external door, supplied as C source and found in the
SDK/Examples/ directory of your CNet archive. To add it to your system,
simply replace BBSTEXT line 22 with the following:
#2cnet:doors/ansidetect}
Make sure to copy ansidetect from sdk/Example_source/ to cnet:doors/
15. Users can no longer YANK the messages in another user's mailbox during
MailVerify (MV).
16. Fixed cTelnet problem where port in pre-configured host list was not being
used during connect. You MUST run the update/TelnetUPD435 update executable
and then use the EH command on ALL configured telnet hosts, fixing the
telnet port for each host.
Remember: Usual/default telnet port is port 23. You should use this number
unless the host has a custom settting.
17. Changes to BBSTEXT line 2205.
18. Fixed QWK E-Mail uploads which were not importing properly.
Changes for V4.33 (ALPHA)
-------------------------
1. Cron screen was left open if non-lace Workbench used.
2. Added another function CNetEndOfRange() to cnet4.library.
This function returns TRUE (1) if the current element returned by
CNetNextRange() is the last element in a CNet range
For example,
if the range "1-10,15,30" were passed to CNetFindRange() and, as CNet
range protocol suggests, CNetNextRange() were called in a for() loop,
CNetEndOfRange() would return FALSE (0) for all values returned by
CNetNextRange() until it returned a value of 30.
There is an example of CNet range usage in the SDK/Examples directory,
called RangeTest2.c.
3. CNetPrevRange() added to cnet4.library. Operation is the same as
CNetNextRange() but returns the next LOWER element/value in the range.
4. CNetStartOfRange() added to cnet4.library. This function returns TRUE (1)
if the current element/value is the first in the range.
The example sdk source rangetest2.c has been expanded to show an example
of this function also.
5. Fixed a bug with MailID that created MailIDs such as a1, a2, s1, s2
when the handle or real name contained only a single word.
6. UserEdit was not accurately displaying the state PRIVS/RECEIVE EMAIL flag
and (possibly) a few other PRIVS flags..
7. Config now automatically adjusts the subboard NETWORK affiliation when an
FTN network is deleted from FTN config.
8. Changes to BBSTEXT lines 2086-2288.
9. Added QUIT button to Cron for those who like buttons with keyboard shortcuts.
10. DCC GET and CLOSE are now implemented in CNetIRC. file-task performs the
actual DCC file transfer leaving CNetIRC free to do its thing. This also
provides the additional safeguard that if a CNetIRC problem occurs, your DCC
transfer not be affected and vice-versa. Files gotten with DCC GET are
stored in the users' mail:users/user_id/FILES/ directory and are currently
NOT auto-selected to the user's select list but this will be the action taken
in the final 4.33 release. Until then, users may use Kelly Cochrane's CINS
user-dir file-maint to select and download files received with DCC GET.
NOTE: that CNetIRC uses the script CNET:REXX/DCCGET.REXX to notify file-task
to get a file from an offering remote user. Please be sure to update
your system with ALL files in this archive (except systext:#? and
sysdata:#?) whether or not the file sizes have changed!
NOTE2: It bears mention that users must use DCC CLOSE if they wish to
DCC requests from their DCC list/queue after failed or successful
transfers. Although, it is not a problem if they do not as each
port's DCC list is cleaned up when a user logs off the respective
CNet port/node.
DCC COMMANDS IMPLEMENTED
------------------------
DCC LIST
DCC CLOSE <range>
DCC GET <range>
DCC SEND <name of file from user file dir>
where <range> is a typical CNet range (eg. 1,3 or 1-3,6 etc.)
BUGS: Currently does not complain-to/notify the user if file-task is
not running. In the final CNet v4.33 release, users will be
notified if they cannot DCC SEND/GET at any moment that
file-task is not running. DCC chat will be handled by CNetIRC
itself, when implemented.
OVERSIGHTS: No DCC RESUME (yet)
Changes/fixes for V4.31/4.32
-----------------------------
1. BBSTEXT/MENU reload trashed pointers so WHO display was corrupt.
Change to BBSTEXT line 659.
2. Change to BBSTEXT line 426.
3. Added systext:menu/mail-attach
4. New BBSMENU section 45 for mail-attach menu.
5. CNet now allows uploading to mailbox for file-attach. To do this,
enter MAIL SEND (MS) and fill in the recipient and Subject. At the mail
flags prompt, press F (for Freq) until it toggles to "SEND". Press enter
to continue to the File-Attach menu.
Note that, currently, only single file-attaches are possible for each mail.
This limit will definitely be removed in the near future.
6. Added cnetc.library. This is the new standard for CNetC door communications
with CNet. The same functions that were in empty.c and cnetc.lib are
available in the shared library cnetc.library. The shared library versions
of these functions are preceded by "CNC_". For example, what was once
PutText() is now CNC_PutText(). Please see the new empty.c for example
usage. Your C door MUST call CNC_InitContext() on startup and
CNC_DisposeContext() when your door is done communication with it's CNet
port. empty.c is wrapper code with these functions already inserted within.
7. CNetIRC's ARexx port is now fully functional. Each copy of CNetIRC has its
own ARexx port, named "CNET_IRCx" where the x is the user's port number. The
most important and most used ARexx command is the cnetirccmd, shown below.
ARexx command Function Examples
--------------- --------------------- ---------------------------
cnetirccmd send an IRC command cnetirccmd '/me is away'
cnetirccmd '/" print to user screen'
cnetirccmd '/msg HMetal Hey buddy!'
A more detailed list of CNetIRC ARexx commands will be made available later.
Also see the included example ARexx scripts in CNET:IRCREXX for more
information.
Please make sure that the script bit is enabled on these ARexx scripts by
using the AmigaDOS shell command "protect cnet:ircrexx/#? +s"
Also, to get the default Arexx macros into your /alias list, use the CNetIRC
command "/e .ircrc.rexx" Once executed, you will see the text
"*!* INIT .ircrc" printed on your CNetIRC screen.
8. Fixed the Control SysInfo window activity graph (AG).
9. Converted all ZenMetal CNetC doors to use cnetc.library format.
10. Added ARexx command "checkolms" which will check if OLMs are waiting
and display them immediately. Returns 1 if OLMs are displayed; 0 if
none were displayed.
11. Added the following CNetC commands:
CNC_MailSend(account_number) - sends mail to the specified user
CNC_ReadLog(logname) - read the log named logname in systext:log/
CNC_OpenDisplay(port_number) - open the port screen for port port_number
12. Added TestOpenDisplay.c example combination CNetC/AmigaDOS door to sdk
examples drawer.
13. Added file transfer ETA display to Control panel. ETA appears in the "Where"
section of the control panel ports display during an upload or download.
14. File-attaches to Internet mail are now MIME-encoded to be included in the
mail body. To accomplish this, a file "extension" field has been added
for each mime type in Mime-Ed. You may put multiple extensions in each
mime type. For example, if you have configured a JPG mime type, you might
have the following MIME configuration for that type:
Content-Type : image/jpg
Encoding : base64
Mail Save Method : File-attach
News Save Method : Leave as body text (not implemented yet)
Decode Command : c:base64 decode from %f to %t
Encode Command : c:base64 encode from %f to %t
Subboard ID : <leave blank>
File Extension(s): jpg jpeg jfif
Using this example, when a user uploads a file with a .jpg, .jpeg or .jfif
extension, it will be encoded using the command,
"c:base64 endcode from <image_file> to <mime_encoded_file>"
note: CNet will use the description the user specifies at the "Filenote:"
prompt, during file-attach upload, as the mime description. For
adopted files, CNet will use the EXISTING file description and does
not (currently) prompt for a (new) filenote.
15. Changes to BBSTEXT lines 2226-2229.
16. Edit Finger (EF) was inserting newlines in the wrong place(s).
17. Dupe subboard GO KEY prompt would not allow changing of the GO KEY if a dupe
was entered.
18. MCI is no longer filtered in local mail.
19. Fixed Control sysinfo window percentage/graph that was being corrupted on
refresh.
20. stdio (window) output of TOSS in default verbosity was munged. Node number
of packet origin was being overwritten by the number of messages imported.
21. Cron received the BGUI treatment. ALL CNet GUIs finally use BGUI. Also
fixed some bugs relating to event execution that may have caused SOME
events to be skipped.
22. Added a "Last Executed" display to Cron so one can see when an event was
last invoked. Note that this "Last Executed" date will be reset whenever
an event is altered (eg. change of start time, repeat hours, mins, seconds,
etc.)
23. cnSMTPd timeout now configurable in Config/Defaults/SMTPD Timeout and is
specified in seconds. Minimum timeout is 60 seconds and nothing lower
will be accepted by Config. If you are experiencing a lot of "Connection
lost" messages in cnSMTPd log/window, increase this value in 30 seconds
increments until the problem is resolved.
24. Added ListEvents.c to sdk/ExampleSource drawer. This example source shows
all configured events and their attributes. It is an AmigaDOS Shell
executable and must be linked with cnet_reg.lib.
25. Added ARexx command SETQUERY to BBS:
Command: SETQUERY <opts>
Purpose: Used to set prompt attributes for the ARexx QUERY command.
The <opts> decide how the prompt responds to user
input. These opts are the very same arguments that can be
specified as flags to the EnterLine() function of CNet.
Applicable
to ARexx
commands: QUERY
PROMPT NORMAL
<opts>: The <opts> arg is a binary word with any of the following bits
enabled.
TIP: Use
BITOR (<string1>,[<string2>],[<padchar>])
to set groups of bits or
BITSET (<string>, <bit>)
to set a single bit in <string>
SEE ALSO: ARexx manual and BITWISE OPERATOR section.
NAME PURPOSE OF OPT BIT
------------- -------------------------------------- ---
ALLCAPS INPUT ...................................... 1
FILENAME filter characters #?:\"*;= ........... 2
USEINBUFF use existing INBUFFER ................ 3
NOLEADSPACE don't allow leading space in input ... 4
CAPWORDSTART Capitalize the first letter of each
word ................................. 5
RESTWORDLOWER Convert all others to lowercase ...... 6
NUMBERSONLY Allow numeric input only ............. 7
INPUTBOX Draw input box (eg. with . at the
end .................................. 8
ALLOWMCI Allow the entry of MCI control
characters ........................... 9
HANDLESPECIAL Don't allow ^_`{|}~@ ................. 10
XSLASHSTART Forward slash (/) exits prompt and
sets myz.InputFlags=1 ................ 11
XBKSPACESTART Enable BACKSPACE exit prompt ......... 12
NOOLMS Don't allow OLMs to appear ........... 13
ALLOWCHAT Allow other users to break into chat
at prompt ............................ 14
NOSPACES Don't allow spaces in input .......... 15
NOCURSORMOVE Don't allow movement using arrow
keys ................................. 16
NOSLASHES Don't allow / key in input ........... 17
NOPATH Don't allow : or / in input .......... 18
26. Added companion ARexx CLEARQUERY command to clear QUERY bits set with
SETQUERY.
27. An Arexx command SETROOTNAME was added to BBS ports in v4.28 and the
documentation for it was overlooked.
SETROOTNAME sets a new global ROOT USERNAME. Note that this new ROOT
USERNAME is NOT applied to config and only applies until Control is
restarted.
28. Added event progress display to Control Panel. When an event is executing,
its name and dynamic duration are displayed in the "FROM" and "STATUS"
fields, respectively.
29. Added duration of event to the event end time in sysdata:log/events so
you can see how long your events are taking to complete.
30. Added CNET:REXX directory and some example ARexx scripts.
31. Added ARexx command RUNPORT which allows ARexx scripts to trigger Control
to open/load a port. RUNPORT requires a single argument in AmigaDOS
ReadArgs format.
eg. RUNPORT PORT=x
where x is the number of the port to load.
RUNPORT returns "OK" if the port load was successful or the port was
already loaded. Returns "FAIL" if the port could not be loaded.
See cnet:rexx/runport.rexx for a complete example of usage.
NOTE that the included ARexx script cnet:runport.rexx must exist if you
want the immediate port loading feature of cron's new "RUN THIS EVENT NOW"
feature to work. This runport.rexx script can be altered but must always
be capable of running the desired port using the command
"rx cnet:rexx/runport.rexx <portnum>". This is the very command Cron uses
to load the port to run an event immediately. Control does NOT use this
script for port loading.
32. Companion CLOSEPORT Arexx command added to Control. Args and usage are
the same as those used for RUNPORT.
See cnet:rexx/closeport.rexx for an example script.
33. Added "RUN THIS EVENT NOW" capability to Cron to start/test an event
immediately. If the port is not loaded, it is loaded on the fly.
34. Control's BOTLOGON Arexx command fixed. To generate an automatic login,
use this command. The script cnet:rexx/botlogon.rexx is an example of
this command.
USAGE: BOTLOGON <PORT=x>
where x is the port number for which to generate a login.
NOTE that this command brings ** NEW POWER TO CNET AMIGA**. It is now
possible to have a "Robot user" online at all times. Using the BOTLOGON
command and some clever CNETREXXp Arexx command work, you can completely
automate BBS operations.
Also note that the BOTLOGIN command generates a login as if you were to
press the spacebar on the local console. You can, via the
ADDKEYS ARexx command, login as any user/password combination this way.
Changes/fixes for V4.30
-----------------------
1. Edit Finger (EF) command was corrupting user finger information.
2. When CONFIG was saved, IMP mailing-list info was invalidated. Control had
to be quit and restarted.
3. Change to BBSTEXT line 2288-2289.
4. BBSTEXT line 2301 changed to {}
5. "Include <user> [Y/n/q] prompt" caused port lockups if control was quit
while a user was at this prompt, or if a user dropped carrier at this
prompt.
6. New function PutQMulti() added to cnet.lib. This function is currently
used internally for the mail system. It has the potential of being the
backbone of an elaborate/powerful "hotkey" processor.
See the Library reference cnet.lib.doc in the sdk/lib directory for more
information on PutQMulti.
7. cnSMTPd was reporting "Error after WS()" instead of "timeout" when a remote
system was either lagged, excessive non-communication time or had closed
connection.
8. Subboards with minimum free bytes before upload set to 0 were not allowing
any uploads. Was a problem since CNet/3 days. New code added so that if
you set subboard minimum free bytes to 0, CNet will ignore check free-space
before and during an upload/batch-session.
9. MailSend to account ranges (eg. "MS 1-") has received a 1000% improvement in
lookup speed to reduce user-wait times.
10. Mailing-List reply-to addresses that had a trailing space on the end were
causing problems. Trailing spaces are now removed.
11. Config and useredit were not opening their screens in proper PAL monitor
mode on European/overseas systems.
12. Config/Modems/Device name was too short to accept "squirrelserial.device".
max device name length increased by 1 character to allow this. To
avoid shifting of getuser values etc, struct SerPort4->init1 was shortened
from 50 characters max to 49 characters max.
13. Added mins/hours display to "Idle" display of the WHO command.
Changes to BBSTEXT lines 907 and 1125-1127.
14. NNTPGet received some much needed attention to increase news import speed.
15. Enforcer hit was generated when initiating upload to direct exchange subboard.
16. Direct exchange subboards were not allowing uploads if minimum free space
was set larger than 0.
17. Dropping carrier at "Hit RETURN to enter the system:" login prompt caused
a port lockup.
18. FULL maint users can now edit mail they did not write when using mail verify.
19. Idle time display in WHO was not showing LOGON, TERM nor NEWUSER when a
port existed in one of those states.
20. TimeIdle variable (used in port idle time calculations) redfined as a ULONG
to allow for display of longer inactive periods.
21. Fixed log delete bug where a failed delete resulted in no logs being
readable thereafter.
22. Internet "FINGER" integrated into CNet online finger. If you have a TCP/IP
stack running, users may use "FINGER user@internet_host" to get information
about a user on remote hosts. "FINGER <local_user>" still works too.
23. CNetIRC edit server was allowing ridiculous lengths to be used for some
of the string settings.
24. CNetIRC had the potential to lockup if a user dropped carrier during
a session.
25. CNetIRC could lockup if your TCP/IP stack connection was lost.
26. Note to Miami users: Be sure that "Down when offline" is enabled in
Miami's TCP/IP section.
27. Users CNetIRC exit message was not being displayed when they quit CNetIRC.
28. CNetIRC clear screen (eg. /CLS, /C, /CLEAR) command was broken.
29. Added the following log to CONFIG/LOGS:
LOG NAME: SOCKET
LOG ID: 413
PURPOSE: For logging of TCP/IP socket connects, disconnects and
general socket I/O information.
(note this log is currently only used by the Finger command. It will soon
be expanded to encompass ALL CNet internet clients)
30. CNetIRC was, at times, not notifying the remote server when a user QUIT
the server. This resulted in a "Nickname <nick> already in use" message
when the same channel was joined during the same IRC session.
31. cnSMTPd was producing software failures if iconified or menufied while a
session was active.
32. cnSMTPd was not updating a socket connection's list entry when a remote client
timed out (more than 1 minute of inactivity) or lost connection. This had
the appearance of a connection being active/present when it really was not
connected anymore.
Changes/fixes for V4.29b (ALPHA)
--------------------------------
1. Bug in cnet.lib WriteASubboard() function caused enforcer hits and lockup.
Affected "EL" SAVE and other modules/executables that used this function.
2. Auto-forward mail-aliases (+) are now supported by iuumail and mail-task
internet mail import.
3. Spooled internet mail should now send ok once connected. Be sure to set
smtp mail timeout in Config/Defaults.
4. bmaint had a bug in which short descriptions were sometimes not moved
with files when the MOve command was used.
5. Some Control menus were not being ghosted when locked and some were
unneccessarily ghosted.
6. AMaint was printing garbage text when started.
Changes/fixes for V4.29a (ALPHA only)
------------------------
1. MIME support added to incoming EMAIL. Using MIMEEd, you can set up your
own MIME types and associated decoders.
For the decode command, there are some things to note:
use %f for the temporary name that CNet is using as the file to be
decoded.
use %t for the final filename.
eg. base64 decode from %f to %t
2. Changes to disallow uploading of files with invalid characters in filenames.
Changes to lines 402 and 392 of BBSTEXT.
3. CNet had the potential to allow upload of files named . or .. previously.
No longer.
4. cnSMTPd was corrupting mail on some systems running OS V40.
5. Added byte progress display to cnsmtpd lines and logging of final mail
size to cnsmtpd log.
6. EL VDE bug fixed.
7. W<x> was falsely allowing "long description" to be edited when it really
served no purpose. The proper and only way to edit/add a long description
after the initial "enter long description" prompt has been bypassed is to
"ED" the item and edit response 0.
8. Config was not saving IMP config unless a previous cnet:configs/IMP file
existed.
9. repair_sub made more verbose by printing subboard names.
10. EL "Network" setting were cycling as "none, usenet, usenet, fido1,
fido2, etc." Fixed to cycle as "none, usenet, mailing-list, fido1, fido2, etc."
Make sure BBSTEXT line 1666 says "MailingList" or similar.
11. Of interest to 3rd party door/utility coders, there are two new cnet link
libraries in sdk/lib; cnet.lib and cnetc_door.lib. These libraries contain
many of the functions used in CNet executables which are now available for
your use. Library reference in amigaguide format will be released soon.
12. CNet doors and internal modules recompiled to take advantage of new
cnet.lib and cnetc_door.lib code. This reduced the size of many
CNet doors and executables.
13. Type 2 joinlink sessions were not performing initial handshaking properly.
14. QWK import bug fixed. Added BBSTEXT lines 1757-1758.
15. BBSTEXT line 215 changed.
16. BBSTEXT line 802 changed.
17. Config was sometimes freezing up after pressing SAVE.
18. GetRFCDate() sign for GMT offset was backwards.
19. Mail-task was not creating mail:mimet (mime temp directory) if it did not
exist.
20. nntpget was showing posts, responses and dupes incorrectly (order not correct).
21. cnSMTPd was not handling empty envelope sender properly.
22. Join was getting an enforcer hit when the last noise in the list was used.
23. cnSMTPd was closing remote connection after receiving a single item rather
than waiting for possible multiple items and/or remote disconnect.
24. MIME support routines from mail-task added to iuumail.
25. MIMEEd "News save method" was not saving properly. Please note that, at
this time, this button has no function. MIME detection/processing is not
yet added for usenet news imports.
Changes/fixes for v4.28e
------------------------
1. "Config/Options/Skip handle prompt with CID match" and
"Config/Options/Answer only with CID match" were not saving properly.
2. MIME support added to MAIL. News and posts MIME support to be added soon.
3. Config/IMP changes are now effected dynamically. that is, your changes are
immediately applied to Control's MainPort.
4. Added MIMEEd (aka MIME-Edit) GUI for adding/deleting/editing MIME types.
Explanation of MIMEEd buttons and MIME types:
....not yet complete...
Changes/fixes for v4.28d
------------------------
1. SMTP daemon (cnsmtpd) now included with CNet. This daemon is one that
should be run AFTER both your TCP/IP stack and Control are running. It
will accept a maximum of 32 simultaneous SMTP connections. It is also an
AmigaDOS executable that should be run in any AmigaDOS Shell.
eg. run cnet:cnsmtpd
2. SMTPd section added to Config. There are currently two lists on this page:
LOCAL HOSTNAME/ALIASES
This is a list of hostnames/aliases that your system is known as.
For example, your system may have multiple domain names. Enter
all names/aliases that your system is known as in this list.
eg. metalshoppe.dyn.ml.org
metalshoppe.com
(note that the above examples are not really existant. They are
for purposes of illustration only)
NOTE: An entry for "LOCALHOST" must exist so be sure to add this alias.
SPAM HOSTS/IPs
This is a list of sites, hostnames and IPs that should be ignored.
If a system in this list attempts to hit your system via SMTP
it will be ignored.
eg. make.money.fast.com
spam.com
(note that the above examples are not really existant. They are
for purposes of illustration only)
3. CNetIRC EDIT SERVER fixed. It was previously possible to specify a server
number higher than that of the number of servers configured.
4. TimeZone setting added to Config/defaults. Please set this attribute
to the three letter abbreviation of your timezone (eg. CST, EST, etc.)
5. Control received a new menuitem titled "cnsmtpd" under the menu "Internet"
When selected, this menuitem will run the cnsmtpd task.
NOTE: This menuitem requires that cnsmtpd be located in your CNET: directory.
6. Added S=RUNSMTPD arg to Control. To have Control run cnSMTPd when it boots
use the S arg as follows:
run <>NIL: Control s
7. Host Filter editing added to cnSMTPd. "SPAM" hosts can be added while
sessions are in progress. Changes are saved to disk when the Host Filter
window of cnSMTPd is closed. cnSMTPd doesn't apply the changes to sessions
until they are saved to disk.
8. CNetIRC now allows local "Everywhere" commands to be used.
eg. /WHO
9. CNetIRC status bar fixed in many key locations where it was not refreshing.
10. CNetIRC now displays OLMs when received by the user's port rather than after
quitting IRC.
11. Amaint enforcer hit removed.
Changes/fixes for v4.28c
------------------------
1. Bug fixed where BBSList produced garbage characters in last entry and
caused enforcer hits.
2. Change to line 336 of !bbstext_stock.
3. Fixed unlock which was ot flushing it's output before printing input
prompts; making unlock appear to be locked up.
4. Broken "AREA: <area name>" logging in BAD_MSGS reinstated in Toss import
routines.
5. Toss altered to handle non-standard/munged packets a bit better.
6. BGUI Config completed. wizard.library is no longer required by CNet Amiga.
7. Fix for bug that allows user to choose who to send mail to if "feedback @login"
is allowed and "feedback goes to mail #1" is enabled.
8. Multi-Mail (MM) reinstated. Changes to bbstext lines 2127-2130 and 2301.
If mail is sent to a RANGE of users using, for example, the command "MS 1-",
then the user will be prompted YES/NO for each and every user in the range
specified. However, if "MS 1-!" is used, then a global "YES" is assumed.
9. Also, range mail has been changed and the Multi-Mail flag is applied to any
mail sent using a range of account numbers or users. If a user attempts to send
to more than 1 user per email and the MultiMail proviledge flag is not enabled,
MailSend is aborted.
10. It is now possible to mail users belonging to a specific access group or
range of access groups. To specify an access group or range of access
groups rather that a user account, the arithmetic plus (+) character is
added before the access group number.
eg. MS +31
The above example would mail all users in access group 31, interactively
asking the sender if he/she wishes to include each user.
eg. MS +31!
This example is the same as the above example except that there is no
interactive query; ALL users belonging to access group 31 are included.
other examples:
MS +1-4
mail users belonging to access groups 1 through 4.
MS +1-2,6
mail users belonging to access groups 1,2 and 6.
MS +1-2,6;Heavy Metal
mail users belonging to access groups 1,2 and 6 and also the user with
the handle "Heavy Metal"
MS +1-2,6;Electropig;rakey@cnetbbs.net
mail users belonging to access groups 1, 2, 6, the user with the handle
"Electropig" and the internet account belonging to "rakey@cnetbbs.net"
Changes to BBSTEXT line 1522-1523.
11. IMP section of config is now more intelligent.
If Control is running, instead of requiring that you enter the exact
GO KEYWORD of the subboard to be associated with the mailing list gate,
all configured mailing list subboards are listed in a cycle gadget for you
to choose from. This cycle gadget is updated dynamically so, if you find
that you haven't created the mailing list subboard yet: create it and then
click on ANY entry in the IMP list of Config and the cycle gadget will be
updated to contain the newly added mailing list subboard go keyword.
If Control is not running, you MUST enter the full text GO KEYWORD of the
mailing list subboard, as before. For absolute error-free GO KEY choice,
we recommend that you have Control running while setting up your IMP
mailing list gate(s).
NOTE: After changing IMP config, you must (still) quit and reload Control
for your IMP changes to take effect. this limitation WILL be removed
soon.
12. New sysop GUI "UserEdit" added to ease local console editing of users!
If a port is selected, and the UserEd button of Control is clicked,
the selected port user is auto-selected in UserEd's list. The UserEd
GUI is similar to the online "EL" VDE (Visual Data Editor).
UserEd buttons/Gadgets:
USERS:
A list of existing BBS users. Select a username to view
and that user's account attributes are displayed in the
initially locked gadgets. Note that if a user is in LOCK/EDIT
mode, clicking on any user in this list will cause your changes
to be abandoned.
LOCK/EDIT:
Use this button to LOCK the currently selected user and begin
making changes to account attributes.
UNLOCK/SAVE:
Use this button to commit/save any changes made to an account
since the LOCK/EDIT button was pressed.
REFRESH:
Refreshes the UserEd user list and the current user. Note that
if you use refresh while a user is locked/edited, you will lose
any changes made to that user.
All other buttons, tabs and other gadgets are exactly like their
online "EL" VDE version in name and attribute. See your CNet manual
if you need information on any of these attributes and their
purpose.
13. (coders) Mailboxes now require locking a semaphore before accessing
_mhead/_mtext. The semaphores associated with mailboxes range from
0 to myp->Nums[0] and are located in a dynamic array of SignalSemaphores
in myp->MPE->MailSem[x] where x=Account_Number-1.
Try not to keep these semaphores locked for too long as users logging
on may need to access their mailboxes and if you have an outstanding
lock on their mailbox. eg. lock mailbox, read/write/copy data, unlock
mailbox.
See control.h and the MainPortExtension structure for more info.
14. New function GetRFCDate() added to cnet.library for support of
internet RFC format dates. Note that CNet uses locale.library to get
GMT offset information. You should set your system timezone using the LOCALE
preferences editor found in sys:prefs.
example for coders:
void main(void)
{
char datebuffer[40];
struct Library *CNetBase;
if(CNetBase = OpenLibrary("cnet.library", 4L))
{
GetRFCDate(datebuffer);
Printf("RFC date is: %s\n", datebuffer);
CloseLibrary(CNetBase);
}
return;
}
15. #?-task buffer refresh now more efficient when de-menufiying and de-iconifying.
16. Setting was not being saved for "Command" string gadget of Config/IMP when
process-type "AmigaDOS/RX script" is used.
Changes/fixes for v4.28b
------------------------
1. All task GUIs converted to BGUI layout. One difference from the
StormWizard task GUIs is that to save the mail-task window position,
you must use the menu "MAIL-TASK" menu and select SNAPSHOT WINDOW to save
window size/position. Control's Mail, Files, Yanks and News popup menu
buttons also received a new menuitem, "Snapshot Position" for extended
control.
2. Fixed IMP Mailing List Gate bug where only replies were being sent to the
mailing list address; posts were posted using the regular subboard posting
mechanism.
3. Fixed global FTN post/reply bug which caused posts/replies to be sent to
the wrong network.
4. All CNet GUIs now have public screen support. If you run control using
the PUBSCREENNAME=<screen name> arg, all CNet tasks (eg. mail-task,
file-task, etc.) will open their windows on the public screen specified
when spawned by Control - whether at startup or when you use the popup
menu task buttons. Each task also has it's own PUBSCREENNAME argument
that can be added if you choose to run the task(s) via script or by hand.
PLEASE NOTE that Control does not (yet) open the public screen for you. You
must use a utility such as ScreenWizard, ScreenManager, Pubby or some other
public screen utility to initially open the public screen that you want
CNet to use.
Note: The StormWizard layout library (wizard.library) is still used for CNet's
"Config" program which will be re-written to use the faster BGUI layout
engine in a later release. The Config GUI re-code will take approx. 2
days to complete. Therefore, some previously reported bugs must be
fixed in the meantime. Please have patience with the current
StormWizard Config program. It will be much faster and less buggy once
converted to BGUI. Once Config is re-written, the buggy StormWizard - as
far as CNet development goes - will be scrapped.
Changes/fixes for v4.28a
------------------------
1. Fixed "**NULL POINTER**" that was appearing in mail subject of some mails.
2. Fix for the amaint bug that results in the user being put in a different
subboard after completion.
3. Alternate Control BGUI created using the BGUI.library BOOPSI GUI layout
library. BGUI may end up taking over since StormWizard could not function
propely. You do not have to rename the BGUIControl as Control but you
may if you like. BGUIControl, of course, accepts the same CLI args
that the StormWizard Control did/does.
4. For the BGUI Control GUI, you can now define which system stats are
displayed. The default of "Sysop Mail, Mail1, Calls Logged, Total Calls,
Current NUsers, Users, Posts Now, Resps Now" can be changed.
To change the items displayed, edit BBSTEXT line 2335. Each %X represents
one item on the Control panel stats display. eg. %g represents "Sysop Mail".
Also, it is critical to note that the order that you put these in is not
important but there is an order in the layout process. Each %X is laid out
as follows:
1 3 5 7 9 11
2 4 6 8 10 12
So, "%g%i%q%r%n%s%j%k" is laid out as so:
Sysop Mail: xxx Calls Logged: xxx Current NUsers: xxx Posts Now: xxx
Mail1: xxx Total Calls: xxx Users: xxx Resps Now: xxx
Example 2: "%1%i%q%r%n%s%j%k" is laid out as so:
Total Sysop: xxx Calls Logged: xxx Current NUsers: xxx Posts Now: xxx
Mail1: xxx Total Calls: xxx Users: xxx Resps Now: xxx
NOTE that the difference in example 2 is the change of the first sequence
from %g to %1 which changed "Sysop Mail:" to "Total Sysop:"
Here is the list of available variable placeholders for Control's status
"bevel box" area:
%1 = Total FBack %2 = Total Mail
%3 = Total Mail1 %4 = Total Posts
%5 = Total Responses %6 = Total ReadText
%7 = Total Doors used %8 = Total Newusers & Guest
%9 = Total Upload Files %a = Total Upload K
%b = Total Download files %c = Total download K
%d = Total Minutes USE %e = Total Minutes IDLE
%f = Total Charges %g = Current FBack
%h = Current Mail %i = Current Mail1
%j = Current Posts %k = Current Responses
%l = Current ReadText %m = Current Doors used
%n = Current Newusers %o = Current files online
%p = Current files K online %q = Calls logged
%r = Total Calls %s = Total users
NOTE that after changing the Stats lines in bbstext, you must use the
Control RELOAD TEXT/MENU menuitem and then close (iconify) and reopen
the BGUIControl window to see your changes.
Changes/fixes for v4.28
-----------------------
1. Config listview problems fixed in Logs, Modems, etc where double-clicking
on a list item caused an alert.
2. Config was now allows the addition of a "modem" with no device.name to
be used as a local port.
3. One can no longer run Config if the Control panel is locked. Remember, after
you select "Lock and Write Setup" in Control's menu, you must use the command
CNET:UNLOCK to unlock the Control panel.
4. One can no longer run CRON if the Control panel is locked. Remember, after
you select "Lock and Write Setup" in Control's menu, you must use the command
CNET:UNLOCK to unlock the Control panel.
5. Fixed File-Task Appicon which was not being properly saved in
Config/Display/File-Task Appicon.
6. InterceptMailProcess (IMP) added to CNet. IMP is destined to be one of the
most powerful concepts of the CNet mail sub-system. Using the Config/IMP
section, you can now have CNet look for messages addressed TO or FROM users
and have that mail processed one of 2 CURRENT ways (may be expanded in the
future):
1) by a DOS script specified in the IMP section of config.
2) by redirecting to a CNet subboard as a mailing list gate
also configured in Config/IMP.
Config's IMP attributes will change depending on the type of processing
is to be done for the TO or FROM address given.
The "Apparent Recipient" is any string of alpha-numberic characters
currently matching one of the following: (full AmigaDOS pattern matching is
supported here).
1) The "TO:" of an RFC-822 compliant Internet E-Mail.
2) a FTN (FidoNet) email's TO address.
The "Apparent Sender" is any string of characters (with full AmigaDOS
pattern matching) matched in any combination of the following fields/formats:
1) The "Reply-To:" or "From:" of an RFC-822 compliant Internet E-Mail.
2) a FTN (FidoNet) email's FROM address.
Toss, mail-task and iuumail have been altered to support the IMP system.
As with any new concept or feature, there may be minor bugs. Please
report any bugs ASAP.
IMPORTANT IMP EXAMPLE:
The Apparent Sender/Recipient field should COMPLETELY match the
attribute it is being compared against. Thus, if one wanted
to gate the cnet mailing-list to a subboard with a "GO keyword"
of mailinglist_cnet, look at the "Reply-To:" header of the email
and find the following:
Reply-To: cnet@megalith.dade.fl.us (MailingList 'cnet')
To successfully gate all mail with a Reply-To like this, you would have
to use one of the following examples as the "Name/Pattern" of your IMP
filter:
cnet@megalith.dade.fl.us (MailingList 'cnet')
#?cnet@megalith.dade.fl.us#?
#?MailingList 'cnet'#?
or any variation thereof. Note that the first possible name/pattern
is not a "wildcard" pattern and is a COMPLETE match for the whole
Reply-To. However, the other name/pattern examples all contain the
AmigaDOS wildcard pattern (#?). WildStar (*) support is possible
if you have enabled Wildstar via a Commodities exchange program (AKA
commodity).
6. Mailing List support (gating in/out) added to CNet subboards. To make a CNet
subboard a mailing list gate:
1) use the EL command and set the subboard's NETWORK setting to
"Mailing List".
2) Set the "Process Method" in Config/IMP to "Mailing List Gate".
3) Set the Detect Type to "Apparent Sender" and be sure that the
Name/Pattern matches or partially matches the "Reply-To"
address of the mailing list.
4) Set the "List Address" to the e-mail address of the mailing list.
7. Change to BBSTEXT lines 1666 and 1867-1870 for mailing list support.
8. Added help file systext:help/mailinglist.
9 Final fix of the "missing short description" bug when files are moved.
10. Fixed problem that some sysops were experiencing which caused crashes when using
shortcut keys (eg. Right Amiga '-').
11. Of interest to door coders, more functions appear in cnet.library:
------------------------
Name : NumFromUnique
Prototype: short NumFromUnique(char *gokeyword);
Purpose : Allows one to find the physical subboard number of the
subboard having a go keyword of <gokeyword>. The physical
subboard number is the one used to access the given subboard
in the global subboard list.
Returns : Physical subboard number pertaining to the given go keyword or
-1 if not found.
Bugs : None
EXAMPLE:
short PhysNum;
PhysNum=NumFromUnique("FILES");
if(PhysNum > -1)
{
sprintf(z->ABuffer, "GO keyword FILES pertains to subboard %s\n",
myp->Subboard[PhysNum].Title);
PutA();
}
else
PutText("No subboard found with a go keyword of FILES\n");
------------------------
Name : FindOrdinal
Prototype: struct Node *FindOrdinal(struct List *list, short n);
Purpose : Finds the list node pertaining to a given node number.
Returns : Pointer to the Exec node pertaining to <n> or NULL (0L)
if not found.
Bugs : None
EXAMPLE:
struct Node *nodeptr;
struct Node addnode;
char nodename[10]; // 9 chars max nodename + 1 char for NULL ('\0') byte
struct List mylist;
// list setup
NewList(&mylist);
strcpy(nodename, "dummynode");
addnode.ln_Name = &nodename[0];
AddTail(&mylist, &addnode); // could have also used AddHead()..
// FindOrdinal usage..
nodeptr=FindOrdinal(&mylist, 0);
if(nodeptr != &addnode)
Printf("Error finding node %d\n", n);
else
Printf("Node %d found; name: %s\n", n, nodeptr->ln_Name);
------------------------
Name : InStr
Prototype: short InStr( char *string, char *isin );
Purpose : case insensitive check to see if <isin> is a substring of <string>
Returns : 0 if <isin> is NOT a substring of <string>, starting position
of match otherwise.
Bugs : None
EXAMPLES:
if((InStr("Reply-To: rakey@cnetbbs.net", "reply-to: ") == 1)
{
printf("This is a valid Reply-To line.\n");
}
if((InStr("Relay-To: rakey@cnetbbs.net", "reply-to: ") == 0)
{
printf("This is not a valid Reply-To line.\n");
}
------------------------
Name : AllDigits
Prototype: short AllDigits( char *string);
Purpose : check to see if <string> contains only ASCII digits
Returns : TRUE (1) if string is all digits, FALSE (0) otherwise.
Bugs : None
EXAMPLES:
if(AllDigits("12345678901234567890"))
printf("All digits!\n");
if(AllDigits("1a3b5c7d9e1f3g5h7i9j"))
printf("Oops! Some non-numeric characters present!\n");
------------------------
Name : CopyFilterText
Prototype: CopyFilterText(char *dest, char *source);
Purpose : Copies source to destination, removing MCI, carriage returns
linefeeds and converting TABS to 3 spaces in the process.
This is the function used to prepare text to be displayed in CNet
GUI buffers.
Returns : None
Bugs : None
EXAMPLES:
// print a known BBSTEXT line that has MCI in it
PutText(bm[44]);
// now Copy/Filter the same line to z->ABuffer and print it
// using PutA()
// the second printed version will be stripped of MCI and the
// control characters mentioned previously.
CopyFilterText(z->ABuffer, bm[44]);
PutA();
Changes/fixes for v4.27b
------------------------
1. Re-instated BBSTEXT line 1124 to allow MCI to be executed at the END of
the new user process.
2. All background task GUI (mail-task, file-task, etc.) buffers now
scroll so that the last action performed is visible in the scrollback
display at all times.
3. Added Yank-task GUI, very much similar to mail-task, news-task and
file-task GUIs.
4. Added window menus for clipboard support to mail-task, file-task, yank-task
and news-task GUIs to allow buffer contents to be copied to clipboard unit 0.
5. Added the ability to save all "task" GUI buffers to a file. This is also
in a window menu as "Save buffer as.."
6. Added clipboard support to CNet's Visual editor (VisEd), finally! Each port
uses one of 100 separate units of the Amiga clipboard.device.
eg. BBS port 0 uses clipboard.device unit 1
BBS port 1 uses clipboard.device unit 2
this is intenational so that online users do not disturb the contents
of unit 0 which is used by many other Amiga application programs.
Some editors, such as CygnusEd allow you to select a clipboard unit to paste
from. The sysop may, for example, on port 3 copy a region of text in
his VisualEditor to the clipboard (using the VisEd REGION MARK and then REGION
COPY commands) and then, in CygnusEd, select clipboard unit 4 and paste
from that unit, to insert his VisEd text into CygnusEd.
7. Config/tasks section added for configuration of mail, news. file and yank
task.
8. Added max buffer sizes for all tasks in Config/tasks. These settings are
the maximum number of LINES to be buffered in the "status listview" at the
bottom of each #?-task GUI. Anything past the number of lines specified
will result in a first-in/first-out replacement of buffer lines. A setting of
0 means that you do not want the task buffers to be trimmed.
Changes/fixes for v4.27a
------------------------
1. The EnterPassword() function now supports case-sensitive password entry.
Use the following function or a snippet of this code in your doors, to support
case sensitivity in passwords:
void MyGetPassword( void )
{
// retain old input case setting
UBYTE OldCaseFlag=z->NoCaseConvert;
// set input routine flag to NOT convert password to uppercase
// this same flag affects the case setting of the OneKey()
// function also
z->NoCaseConvert=1;
EnterPassword();
// restore old input case setting
z->NoCaseConvert=OldCaseFlag;
}
NOTE: the password received by EnterPassword() and, hence, the password
received by the MyGetPassword() function above is always retained
in z->InBuffer after calling EnterPassword(). Also note that
if z->NoCaseConvert is set to 0 (the default) instead of 1, the returned
password is all uppercase.
2. DOS arg support added to transpose for use in BBSMENU commands AND CNetC
Cron events. Tranpose now accepts two DOS arguments; a user account number and
an access group number to do auto-transpose.
eg. {CNET:DOORS/transpose 1 31}
The above would assign account number 1 to access group 31.
With auto-transpose, the only "priviledge flag" not lost is the
"SuperUser" flag. All other flags, limits and priviledges are set to the
newly assigned access group defaults.
NOTE: both arguments must be specified and must be NUMERIC. No
handle/name parsing is performed for auto-transpose.
3. The Control panel's Mail, File and News task buttons are now multi-
function pop up menu buttons that have different functions depending
on whether the tasks are absent, running, iconified or menufied.
4. Controversial password echoing removed. No longer does CNet echo
a user's password back to them after the newuser process is complete nor
does CNEt display the user's password as it is entered. A second password
prompt now serves as verification that the user entered the intended
password.
Changes to BBSTEXT lines 168-170 and 1124-1129 inclusive.
5. Both iuumail and mail-task's internet email import was ignoring mail files
that had messages containing \t (tab) in the "from: " field. Fixed!
6. Mail-task was not sending spooled email unless an email was written while
the system was connected to the internet. mail-task now checks for a valid
internet connection (via bsdsocket.library) every x seconds in order to
send spooled internet mail. The spool-send-timeout is configurable in
the defaults page of Config as "Mail Timeout (secs). If there is no spooled
mail, the connection check is not performed.
7. File-task has received a GUI much like mail-task and news-task GUIs so that
it is easier to visualize file-task's test and transform processes.
Don't forget to copy (or create your own) sysdata:file-task.info if you
want file-task to be capable of being iconified.
Changes/fixes for v4.27
-----------------------
1. Fixed CNetIRC enforcer hits that occured when no TCP stack was running
and a user runs CNetIRC.
2. Mail-task is now capable of posting internet mail directly to a SMTP
mail server.
The following config settings have been added to CNet config, to
support SMTP posting:
DEFAULTS: Mail Server
OPTIONS: Send Mail - options: "using external sendmail"
"using internal SMTP"
Changes/fixes for v4.26k
------------------------
1. Bug fixed in which expire mail caused mail counts to be improperly
represented.
2. Fixed Control "stats" display bug which consumed CPU bandwidth.
3. Added "Posts" and "Responses" statistics display to Control.
4. Fixed Config bug in which Export-To areas and nodes were flagged
incorrectly. Exported areas were denoted with no "+" and non-exported
nodes were denoted by a "+".
Changes/fixes for v4.26j
------------------------
(This was just a quick bug-fix release consisting of mail-task, news-task
and Config and their associated #?.wizard and #?.cd files.)
1. Fixed some minor case inconsistencies in Config GUI.
2. Mail-task and news-task GUIs reworked slightly to allow the windows to
be compacted even more.
3. Fixed a major Config ScreenMode bug that was causing TWO Config windows to
open leaving one window open when Config was closed.
Changes/fixes for v4.26i
------------------------
1. BBSList and associated amaint bbslist maintenance code re-written.
2. CBase.library is no longer required for CNet/4. You may delete
libs:cbase.library once you are satisfied that you will not be
regressing to a version of CNet previous to v4.26i.
Also note that because cbase is no longer used for amaint or bbslist,
cbase.library is now obsolete.
3. Fixed cnet.library's HNameToUUCP() bug which caused netmail/email to
"sysop" to be bounced.
4. Various Control Panel GUI fixes to optimize speed and correct visible
quirks due to Control panel window sizing.
5. CNet's Config GUI received a brand new look designed to enhance
user-friendliness! Like all other CNet executables that are GUI-based,
you must issue the command CD CNET: before running the new config.
A new "Config" button has been added to the CNet Control panel to allow easy
Config execution.
Changes/fixes for v4.26h
------------------------
1. Fixed CNET:CLOSE command and added a new "ALL" argument.
CLOSE ALL will close all ports one at a time when users logoff.
CLOSE ALL HANGUP will close all ports and dump users immediately.
2. Fixed Z search lockups when a file with > 8 line short file description is
displayed.
3. Various new Control GUI fixes. Please notify ZenMetal if there are any
remaining quirks apparent.
KNOWN BUG: sometimes, when Control is resized, a few gadgets are not
refreshed. This includes the window SIZE gadget itself. The gadgets ARE still
attached. Resizing the window again will make the gadget(s) re-appear.
This is a StormWizard SCROLLER gadget bug which has been reported to HAAGE &
PARTNER and will be fixed as soon as possible.
4. Fixed cnfingerd which was not displaying any info to the querying remote
user.
Changes/fixes for v4.26g
------------------------
1. Control Panel, mail-task and news-task all received a new look. CNet sysop
GUIs are now created using HAAGE & PARNER's StormWizard 2.0. You'll notice
a nicer flow to CNet GUIs and also more Intuition Style Guide compliance.
In a near future release, Config and Cron will also receive the new GUI
treament as well as more bug-fixes reported throughout the v4.26f release.
Changes/fixes for v4.26f
------------------------
1. Mail filtering at both user-level and sysop-level added.
2. sysdata:sys.MailKill added. Use "MK" to edit this file.
The MailKill file essentially functions as an incoming GLOBAL mail filter. What
makes it global is that no matter WHO the incoming mail was addressed to, it
will never be imported/delivered to anyone on your system.
You may put handles, real names, network addresses or partial matches for any of
the aforementioned in the mailkill file. Mail kill patterns/names
are entered one pattern per line. Be VERY careful with auto-killing internet
mail. You may essentially short out your complete internet mailing system.
Be sure to use the proper filter pattern forthe intended mailkill entry.
Each user will also have his own private mail kill capabilities, known as
a "twit filter". This is edited by the user using the "MF" (MailFilter)
command. (but not yet implemented as of CNet v4.26f)
Kill filters use the familiar AmigaDOS pattern parsing/matching system so,
if you have a wildstar (*) commodity installed, * may be used in place of #?
in patterns. Also the special characters ~()? may be used. The character
'?', when used in a pattern represents any character. "#?" represents
a whole substring of characters. See your AmigaDOS manual for more
information on AmigaDOS file patterns.
Changes to BBSTEXT line 1200.
Example MailKills
-----------------
eg. Internet filters:
single user: username@somedomain.ext
whole domain: #?@somedomain.ext
.org domains: #?@#?.org
.com domains: #?@#?.com
ISP specific kills
all users at netrover's
Windsor providership: #?@#?wnd#?.netrover.com
all users at AOL: #?@aol.com
psuedo-Class C internet filter: #?@ipbits1.ipbits2.ipbits3.#?
psuedo-Class B internet filter: #?@ipbits1.ipbits2.#?.#?
pseudo-Class A internet filter: #?@ipbits1.#?.#?.#?
NOTE: although Class A, B and C internet IPs have ranges
of bits for true class A, B and C qualification, ranges are currently not
allowed in mail filters.
Ranges WILL be added in the future.
eg. FTN (Fidonet) filters
single user: username@zone:net/node.point
user@subnet: Spammer@1:246/#?.#?
whole subnet (all nodes): #?@1:246/#?.#?
whole zone: #?@1:#?/#?.#?
eg. Local user filters
single user real name: Ray Akey
single user handle: Heavy Metal
single user account: 1
multiple user account: 1-20
all local users: #?
eg. Short circuit ALL mail on your system (requires 4 patterns)
#?*#?:#?/#?.#?
#?@#?:#?/#?
#?@#?
#?
Again, be very careful adding MailKill entries as a few mis-keyed entries
could result in short-circuiting the ENTIRE mail system on your BBS or,
at least short-circuiting any one of local, fidonet or internet mail.
3. Mail-task received additional log window output to support MailKills.
If a global mailkill has been effected, you will see the message,
"Global MailKill: <username>" in the Mail-task window. Additionally,
you will see information on who the sender was sending the mail to
immediately under a mailkill message as: Intended recipient: <username>
4. Implementation of personal user mail filters. Users use the MAIL;FILTER
command to edit their personal mail filter list.
The SYSOP (or any user with the SYSOP MAINTENANCE priviledge flag) may
edit the filter lists of other users by supplying an additional
argument (handle, real name, account) to the FILter command.
eg. MAIL;FILTER Heavy Metal
Changes to BBSMENU section "17; Mail". Note the addition of the "FILter"
command.
Changes to menu file systext:menu/mail
Mail filters are entered one per line.
Mail filters can be an account number or a partial or full user/network
address.
examples: Ray Akey@1:246/74 <- single user REAL name
Heavy Metal@1:246/74 <- alternate (handle) method for the same user
rakey@cnetbbs.net <- internet address
#?@netrover.com <- all users at ISP netrover
1 <- local account #1 (sysop)
Heavy Metal <- local user
5. Personal user mail filters added for subject filtering. Additional
Changes to BBSTEXT lines 278 and 2261-2264.
The sysop (or any user with FULL maint) can edit user mail filters
by entering the POST OFFICE FILTER SETTINGS (MAIL;FIL) and then Nx or Sx,
where x is the user's account number, handle or real name.
Please note that subject filters can be a specific topic, or may contain
pattern matching characters (?, #?, *, etc.)
Any incoming personal mail that has a topic matching any of the patterns
specified in the recipient's subject mail filters will be ignored by
CNet.
6. Added section "43;Mail filters" to BBSMENU (see !bbsmenu_stock).
7. Added menu file systext:menu/mailfilter.
Changes/fixes for v4.26e
------------------------
1. Short descriptions (most importantly, FILE_ID.DIZ) were not being trimmed
properly after searching for FILE_ID.DIZ or FILES.BBS. Fixed.
2. Fixed improperly diagnosed disk free-space displays that have been wrong
since CNet/3 days.
Changes/fixes for v4.26dR2
--------------------------
1. Logging of "ABuffer munged" to sysdata:log/execute whenever the BBS
detects that an external door has corrupted z->ABuffer.
2. ABuffer munge check now corrects ABuffer in an attempt to reduce system
crashes. Sysops should still reboot or reload the troubled port ASAP
if they see "ABuffer munged but temporarily corrected" in the log
sysdata:log/execute. Be sure to check that log 408 exists in the LOGS
section of CNet Config. Log 408 should be named "Execute"
3. Added ANSI detect @ login. Changes in lines 672, 673 and 674 of BBSTEXT.
Be sure to remove any previously installed ANSI detection doors from BBSTEXT
line 22.
4. When moving file items (the MO command), it is now possible to REPLACE an
existing file of the same name. Change to BBSTEXT line 1779.
Changes/fixes for v4.26d (Addendum bug-fix #1)
----------------------------------------------
1. Implemented Personal user configuration in CNetIRC. Changes to BBSTEXT
lines 2292-2334.
2. Fixed bug where invalid fidonet mail addresses were being incorrectly
interpreted and sent as internet email.
3. Nodelist searching (COMMAND: mail;nodelist) fixed for Traplist.library
v5.2 and below. The newer traplist.library v5.4 NLEnumNode() function
is broken and cannot be fixed until I receive a new developer package
from the Trapdoor people (request in progress).
4. News-Task is now started by Control. To stop Control from running this
task, add the "W" switch to your Control args in CNet-Startup as follows:
run >NIL: <NIL: Control W
OR
run >NIL: <NIL: Control NONEWSTASK
5. SOME **CNETC** DOORS MAY NEED TO BE RECOMPILED/UPDATED. PLEASE READ THE
FOLLOWING IN ENTIRETY TO AVOID PROBLEMS.
The largest BBSTEXT line length restriction has been removed! The size
(length) of the internal ABuffer is now (somewhat) dynamically configurable.
The sysop sets the MAX size of ABuffer in Config/Limits now, in the
"Output Buffer (ABuffer) size" attribute.
If you forget to set this in Config/Limits, the BBS will use a value of 256
by default.
The value of "ABufferSize" can be anywhere between 256 and 9999 inclusive.
These limits are enforced by Config/Limits.
Please be aware that, after making a change to Config/Limits/ABuffer size,
Control MUST be restarted before the change will take effect.
As a side note, contrary to what some sysops believe, there is only ONE
copy of bbstext in memory at any given moment. CNet does NOT load a
separate copy of bbstext for each and every port. If you increase your
bbstext by 100 characters, it will only take up approx 100 bytes of memory.
The only exception to the "one bbstext in memory at a time" rule is
if you are using "forced" or "port specific" bbstexts for different ports,
or if you are using more than a single "text translation" (eg.
bbstexts in two languages)
Another consideration is to be careful not to set ABufferSize TOO large
as you lose (number_of_ports_loaded * size_of_ABuffer) bytes when ABuffer
is increased. CNet previously used 256 bytes. A value of 1024 is now
recommended. But, by all means, if you have the memory to spare, feel
free to make it larger. You are the one who will benefit by the increased
size by being able to expand bbstext line lengths that much more.
C CODERS NOTE #1: please note that ABuffer is now a POINTER variable. That is,
the memory set aside for ABuffer can now reside anywhere in memory. Do not
count on ABuffer being "in" PortData memory space anymore. It
is allocated when each port loads. z->ABuffer now points to the location
where the buffer was actually allocated.
C CODERS NOTE #2: Any door(s) you have written, that use z->ABuffer, MUST be
recompiled. SOME older doors may work ok as long as they do not use PutA()
or otherwise access z->ABuffer. AmigaDOS doors are not affected by this change
if they do not access z->ABuffer or myp->PortZ[x]->ABuffer.
A general rule is to check the WHO command after running a door. If the actual
port text is not shown, z->ABuffer has been corrupted and the door you ran last
needs to be updated. Another symptom that z->ABuffer has been corrupted is that
the HEADER (eg. Name, date) of mails and posts/responses will not appear but the
body text of the message will be printed unscathed.
AREXX CODERS: If your code uses z->ABuffer directly, you will need to
alter your door so that it gets the 4 BYTE (32-bit) ADDRESS of the ABuffer
from z->ABuffer and use THAT address to access ABuffer. The 4-byte address
that z->ABuffer points to is the start of the actual memory block that
where ABuffer space begins. For example, If the number in z->ABuffer is
1135a278 Hex, and ABufferSize is 1000, then the actual buffer starts at
1135a278 Hex and ends at 1135a660 Hex.
ALL CODERS: The sysop-defined ABuffer LENGTH is stored in myp->gc.ABufferSize
The address of the START of allocated ABuffer memory is stored in
the pointer z->ABuffer
6. CNet no longer prompts you to "Enter an OPTIONAL long description" if "AO!" is
used to adopt files.
7. System "NEWS" path (eg. news users see at login) is now configurable in
the PATHS section of CNet Config. If you have a subboard set up for users
to read system news, make sure the "data path" of the subboard and the path
in "Config/Paths/News Path" are the same.
8. OLMs are now time-stamped (coders: see olms.h for type). When an OLM is
displayed by CNet, it will print the elapsed time (mins:secs format) since the
OLM was received from the sender.
Changes to BBSTEXT lines 893, 898 and 920.
9. It is now possible to specify whether specific ports are shown on the WHO
display whether idle or not. This is set in CNet Config, in the "modems"
section, for each port.
To toggle whether a port is to be shown on the WHO display, select the modem
number in Config/Modems and click on the list item "Show Port on WHO display."
To effect this change, all ports must be reloaded (eg. close port and reload -
Control does NOT have to be restarted!!).
Changes/fixes for v4.26c
------------------------
If you are running a version previous to 4.26a, please see the note in the
changes for 4.26b section - corrupt userdata may ensue if you to not read
that section
Also: install ALL files and libraries present in this package. Failure to do
so may result in corrupted userdata.
1. Fixed Edit Mail Alias (MA) Address field to allow longer for internet
addresses.
2. Furthered CNetIRC completion. CNetIRC is a complete IRC solution for your
users to chat using the Internet Relay Chat protocol. CNetIRC, like other
internet clients, requires that you have a TCP/IP stack running. ZenMetal
Software recommends Miami which is much easier than AmiTCP for novice sysops to
install. The other Amiga TCP/IP stack is AmiTCP, of which a demo can be
obtained from aminet sites worldwide.
The Miami demo can be acquired from the ZenMetal support BBS(es) and aminet
sites worldwide. The Miami demo has a 30 minute connection limit which is
generally enough time to test a functional setup. At the time of writing,
Miami's registration fee is $35.00 U.S.
CNetIRC setup:
1) copy CNetIRC to cnet:doors/internet_support
2) add cnet:doors/internet_support/CNetIRC as a CNetC door either in BBSMENU or
as a regular door.
To add as a menu command:
- edit cnet:bbsmenu
- add the following to the END of section 1;Everywhere commands
remember: the curly brace "{" is actually CTRL-Q
the x in the command below is an access group number; the minimum
access required to use the command "IRC"
IRC `x | {cnet:doors/internet_support/cnetirc}
3) login and run your CNetIRC door.
4) Choose the appropriate CNetIRC main menu command. An explanation
of the menu sections follows:
1. Terminal Preferences
these are the ANSI emulation options.
ANSI scrolling
uses ANSI scrolling sequences (works well with most terminals.
ANSI locking
for CNet LOCAL console only. This emulation requires a
terminal that supports the ANSI locking code (ANSI 't')
and most PC/Amiga terminals do not. CNet Amiga, however,
does.
Simple ANSI
a simplified scrolling using minimal ANSI. this is the fastest
display setting useful for busy channels.
2. Add/edit server
this is where users configure their "preset" channels. Users
may specify a default channel to join for each and every
configured IRC server.
some popular IRC servers/channels are:
SERVER:PORT CHANNEL DESCRIPTION
========================== ========= ========================
irc2.magic.ca:6667 #amiga Amiga users unite
babylon.beyondirc.net:6667 #cnet CNet sysops/CNet support
irc.primary.net:6667 #cnet CNet sysops/CNet support
irc.texas.net:6667 #amiga Amiga users unite
irc1.cerf.net:6667 #amiga Amiga users unite
3. Delete server
use this option to delete a "preset" server that is not
needed anymore.
4. Personal configuration
Select this option to change your "identity" in the channels
you join. You may edit Real name and nickname here.
5. Quit
Select this option to Quit CNetIRC.
6. Sysop configuration
Various sysop configuration items. (not yet implemented)
5) To login to an IRC server, press ENTER at the main CNetIRC menu prompt.
3. identd added for internet user identification. This is required by many
IRC servers as, if identd were not supported, each user would appear to look
the same to the remote server. This can lead to many effects, some of which
are entire domains being K-lined (removed from access to a server) and
single user bans. The bottom line is, if you are going to allow your users
to access IRC, make sure you have an identd server running. CNet's identd
has been coded to allow multiple users to use CNetIRC on different ports
without consequence.
To configure identd in your TCP stack configuration:
MIAMI USERS
-----------
select, in your miami window, DATABASE and then choose INETD in the
cycle button. Add the following entry to the list of inetd services:
Service : auth
Socket : stream
Protocol: tcp
Wait : nowait
User : nobody
Server : cnet:doors/internet_support/identd
AMITCP USERS
------------
edit/create the file amitcp:db/inetd.conf and add the following entry:
auth stream tcp nowait nobody cnet:doors/internet_support/identd
if an AUTH entry already exists, alter it so that it appears as noted
above.
Note: identd does not have to be in the CNET: directory. You may
put the identd server anywhere you like but be sure to alter the path in
your TCP stack's database (the configuration lines above) to reflect the
true path of the identd program.
4. Added BBSTEXT lines 2292-2330.
5. Fixed the bug where CNet was reporting UUCP/Mail ID in use when the "used"
mail id belonged to a killed user.
6. Fixed visual editor bug that caused a guru if the title header
(eg. "On xxx, xxx wrote:") wrapped to two lines.
7. Added small header to ReadLog text, printed before the log is displayed.
Change to BBSTEXT line 2283.
Changes/fixes for 4.26b
-----------------------
CRITICAL NOTE FOR SYSOPS RUNNING 4.26a:
YOU MUST RUN THE 426B SHELL EXECUTABLE FOUND IN THE UPDATES
DRAWER OF THIS UPDATE AFTER INSTALLATION!
IF YOU ARE RUNNING 4.25a/4.26 OR PREVIOUS:
** DO NOT ** RUN THE 426B SHELL EXECUTABLE FOUND IN THE
UPDATE DRAWER
COPY or MOVE CNET:BBSCONFIG4 as CNET:CONFIGS/BBSCONFIG4
COPY or RENAME SYSDATA:BBS.UDATA as SYSDATA:BBS.UDATA4
1. Mail ReplyTo preferences moved to mail:users/xxx/prefs/MAIL
Programmers wishing to read the user's ReplyTo preferences, must read
this file; it is NOT kept in memory. The data is saved in ASCII format
so AmigaDOS FGets() and ANSI fgets() (and other string-oriented file input
functions) can be used to read the data effortlessly.
2. GETUSER shift experienced with v4.26a reverted back to v4.26 (99% CNet/3
compatible) state.
3. !BBSTEXT_STOCK line 2222 inserted and one of the sets of curly brackets
{} below line 2222 was removed.
Changes/fixes for 4.26a
-----------------------
CRITICAL NOTE: YOU MUST RUN THE 426A SHELL EXECUTABLE FOUND IN THE UPDATES
DRAWER OF THIS UPDATE AFTER INSTALLATION!
1. Version bumped to 4.26a because the CNET_VERSION string for v4.25a was
prematurely defined as "$VER: CNet PRO 4.26".
2. Users can now use [W]rite to edit file short descriptions without the sysop
being forced to enable "Diz Edit before save".
3. When a port cannot open the required device, The specified port in
Control's display is no longer locked in its "Loading.." state.
4. Changes to lines 2141-2142 and 2162-2163 of BBSTEXT for more verbose
output of FILE_ID.DIZ processing.
5. New configuration item in Config/Modems: Idle WHO User
This is the string that will be displayed in each port's "Name/Handle"
area in the WHO display when no one is logged in to the port. If no string
is set here, the text on BBSTEXT line 903 will be displayed as it was in
previous CNet versions.
A good use of this field is to put the phone number for the port in it, or
perhaps make note that the port is a telnet line or something along
those lines.
To accomplish setting this field on local ports which could previously
not have a "Modems" configuration, CNet will now allow you to create a
"modem" with its DEVICE name left BLANK. If the device name is left blank,
CNet assumes that the port is a LOCAL PORT.
eg. you can create a dummy port 0 in modems with no device name specified
and set an "Idle WHO User" string of "Sysop Port 0".
6. Furthered completion of DIZ processor. Any text in a description that
matches COMPLETELY the contents of any line in sysdata:DizStripText
is removed from the short description.
eg. if a FILE_ID.DIZ contained the following:
---------------------------------------
A great new software release!
We have pirated it so often that no
one is PAYING for it! Therefore, we
are morons. --------- A KuElLe GrOuP!
---------------------------------------
..and DizStripText contained the following lines to be stripped:
some line
another line
/*|------------|*\
--------- A KuElLe GrOuP!
-
..the following would be the short description after stripping:
A great new software release!
We have pirated it so often that no
one is PAYING for it! Therefore, we
are morons.
7. Addition to line 2282 of BBSTEXT.
8. Added "Reformat DIZ" option to subboard EL in Diz Options. This setting,
when enabled strips successive spaces, tabs and newlines to make the
final stripped description look "prettier". It is really only of
use if the "Use Strip Text" option is enabled. It CAN be used to
clean up sloppy DIZ files though, if enabled.
eg. if the stripped DIZ looked as follows:
A great new software release!
We have pirated it so often that no
one is PAYING for it! Therefore, we
are morons.
By enabling REFORMAT DIZ, it would clean up the description to
look like the one below:
A great new software release!
We have pirated it so often that no
one is PAYING for it! Therefore, we
are morons.
9. CNet now checks MailBoxClosed status before carbon copying message base
posts/responses/echomail to users' mailboxes. If the mailbox is closed,
the item is not sent to mail-task for carbon mailing.
10. IUUMail is no longer required for CNet/4. Mail-task now does the job
that IUUMail previously assumed. It is all automatic, so no longer
do you have to create cron events to get iuumail to run.
To enable mail-task to recognize and import new internet mail, you must set
TWO CNet attributes in CNet/Config:
1. Config/Options: Be sure "Monitor Internet mail" is enabled.
2. Config/Paths: Be sure to put here the path to your user internet
mail directory (eg. where your mail retrieval
software creates the "username" files - usually
UUMAIL:
This was made configurable for future expansion.
NOTE: Be sure the path that you put here exists. If
it does not, mail-task will not create it for
you and if it does not exist mail-task will
ignore your "Monitor Internet mail" setting.
NOTE: iuumail will continue to be distributed with CNet for the next few
maintenance upgrades, until we get initial reports of any bugs with
mail-task importing of internet mail. Thereafter, IUUMAIL will be obsolete.
11. Another small internal bug with mail-task GUI and text containing tabs has
been found and fixed. This should finally end any CPU contention caused by
an endless loop.
12. CNet will now create the user Web directory mail:users/<MailID>/Web, if
enabled in Config/Options. To enable this, go to the Options editor
of CNet Config and enable "Create user WEB directory".
Mike Meyer, The author of Amiga Web Server (AWS), has released a beta
version of cnetdir.library. For AWS to recognize CNet user web pages, this
option MUST be enabled in Config/Options.
13. CNet no longer auto-scans for new mail in mail-read. While this was a nice
idea, it caused too many problems and confusion for the user. The new
user-friendly way to FORCE a rescan while in mailread is for the user to
issue the command "RESCAN" if he/she sees that new mail is received while
in mailread.
See the end of !bbsmenu_stock section "7; Read Mail" for changes/additions.
Changes to lines 2160-2161 and 219 of !bbstext_stock.
Changes to systext:menu/Mail-Read.
14. Fixed the "New" button in Config/Modems.
15. Minor fixes to Subboard VDE. Please run the "CNET:VDE" program in an
AmigaDOS Shell.
16. IUUMAIL/Mail-task received extended parsing to support POP3 imported mail
batches.
17. Fixed bug that caused port lockup if the username in MailSend (MS) was preceded
only by a semi-colon. eg. "MS ;sysop"
18. News-task added. News-task is a background Usenet news posting daemon
that is activated when a user posts or replies in an NNTP "usenet news"
subboard. Please note that news-task only posts to an NNTP news server.
If you do not know the NNTP server name of your ISP (Internet Service
Provider), please contact your provider's technical support person to attain
this information.
To activate news-task posting, you must run CNet Config and go to the
Options editor and make sure that "News-task post" is enabled. You must
also configure the NNTP news server name in CNet's Config/Defaults
section under the item "NNTP news server".
If news-task posting is not enabled in CNet Config/Options, CNet will use
"Postnews" as configured on line 2151 of BBSTEXT.
A description of line 2151 follows:
POSTNEWS <%s -f %s -r "%s"
where:
POSTNEWS - the name of the external command used to post news via UUCP
or NNTP or whatever protocol/mechanism your system needs
to use to post Usenet news.
If you use INetUtils, you can rename NNTPPost as PostNews
and place it in your C: directory or any other path'ed
directory. if you do not do this, you must replace
the POSTNEWS text with the full path and filename of the posting
program (eg. UUCP:C/POSTNEWS)
It is understood, from the PostNews author's documentation,
that NNTPPost uses the same command line arguments as PostNews
so that NNTPPost can be used as a direct replacement for the
UUCP PostNews command.
<%s - is replaced by the text to be posted.
-f %s - specifies the username (eg. UUCP/Mail ID) that the user is known
by on your system. The %s is replaced internally, by CNet,
with the user's UUCP/Mail ID (eg. rakey)
-r "%s" - specifies the user's REAL NAME. The "%s" is replaced
internally by the user's real name (eg. "Ray Akey")
19. Added "Reply-To" string/variable to each user account. When the 426a upgrade
program is executed, this field is filled in automatically as the user's
mail id (formerly UUCP ID) plus your systems domain name as configured
in the main window of CNet's Config GUI. For example, a user residing
on the system with an Inet Hostname of "tggh.net" and a user name of "rakey"
would have a "reply-to" default of:
rakey@tggh.net
Your users may wish to change their Reply-To so that CNet uses their "usual"
email address. For example, I would change my Reply-To address on tggh.net
from:
rakey@tggh.net
to my real email address:
rakey@cnetbbs.net
The user edits his Reply-To in the new MAIL PREFERENCES editor by using
the command "MAIL;PREFS" at any CNet prompt.
The user's Reply-To information is currently only used when "news-task post"
is enabled and when outgoing posts/responses are made in NNTP (Usenet)
subboard(s).
When SMTP/SMTPd is integrated into CNet Amiga, this field will also be
used in outgoing internet email.
20. Getuser offset type 4 added for direct access to MainPort->MPE. See
the included control.h for information and variables contained in
struct MainPortExtension.
21. Added BBSTEXT lines 2283-2291 for mail preferences support/expansion.
22. Added text file systext:new/replyto
Changes/fixes for v4.25a/4.26
-----------------------------
1. Mail-task AppIcon problems fixed. Config no longer locks mail-task in
iconified state.
2. Mail-task menufy problems fixed. Config no longer forces mail-task
to create an AppIcon if mail-task is not already iconified.
3. Changes to lines 1646-1647 of BBSTEXT.
4. SubDirName/GO keyword dupe checking now performed when adding
a new list object (AL).
5. Repair_Sub was crashing and writing invalid filenotes/short descriptions.
Should be fixed now.
6. ReadLog (RL) now shows all available logs if no argument is given.
BBSTEXT lines 2273-2278 added.
7. CNet now tries 3 times to send a file to file-task for test/txform.
If it fails the first time, it will try twice more before processing in
the foreground. file-task may not be ready for a TE/TR request if it
is currently scanning newly queued requests.
8. Fixed a bug in file-task that caused some items to be tested/transformed
immediately instead of in the background.
9. Fixed ARexx SAVESCRATCH command which was not saving account/user changes
properly.
10. Change to bbstext line 521.
11. Fixed bug that caused MailRead to clear the list of mail items if the user
was already in mail and used the MR command again.
12. Each subboard now has a "Where/Doing" string that allows the sysop/subop
to set what is shown in the "Where" field in Control and WHO displays.
The maximum length of this string is 16 characters.
(programmers: see SubboardType4.SubDoing)
Note: Be careful using "EL 1-" and setting the "Where/Doing" string as
it is possible to clear this setting for all subboards object types
on the current list. This may be desirable in some cases so it is
not ghosted in the "EL x-x1" VDE scenario.
13. Small mail-task bug fixed which caused AreaFix messages to be bounced
back to their origin even though a successful AreaFix request was
processed and sent to the requesting system.
14. Re-implemented capability of using EL within subboards. Currently, EL
may be used only in message/file/subdirectory subboard (object) types.
15. ML (Move List) can now be used to move a subboard object ANYWHERE in your
Base. ML can still be used as before, if two list numbers are supplied,
to swap two subboard on the current list. However, if only one subboard
number (on the current list) is passed (eg. ML12), you will be lead
through the list of subboards and can choose an appropriate place to insert
the subboard object. This applies to all subboard object types. whether a
subdirectory or regular base (eg. file, message, door, executable) subboard.
Changes/fixes for v4.25
-----------------------
1. MailSend has received extended handling of closed mailboxes. If a user's
mailbox is closed and he tries to send mail, he/she is led through a
series of prompts which accomplish any one of the following options,
in the order listed:
- Abort the MailSend
- Set a forwarding account to receive his/her mail.
- Open his/her mailbox.
2. Repair_Mail (RRM) can be used by users to repair the mail in their
own mail folder(s) only.
3. More mail-task fixes to prevent lock ups.
4. NNTP/DIZ VDE options are now properly ghosted for non-message/file
subboard objects.
5. Access slider in Config/accounting fixed to properly update the Access
level and Charge/units/value list.
6. Yank-task fixed so it cannot be ran again if already running.
7. OLMs that cannot be saved (ie. if user logs off before OLM could be sent)
now return a prompt asking the sending user if he/she would like to save
the OLM to the recipient's mailbox.
This is only done for SINGLE recipient OLMs. This feature does not apply
to *BROADCAST* OLMs.
8. "MS <notexistant_user>!" no longer goes into an endless loop.
9. Subboard-object-type now checked before yank-task attempts to "lock"
the path.
10. Updated and expanded commenting in empty.c.
11. Added double-click capability to the main list of configurable
options. You can now double-click on Accounting, Archivers, etc,
rather than clicking and then hitting "edit".
12. Finally, a way to turn off file-task OLMs/mail in Config/Options.
The only messages you can turn off are the "ok" notifications. If you
disable this option, the user will only receive OLMs/mail if there
was a problem with test or transform.
13. File TEst buffers extended to 255 characters per line. Tests with
output lines that wrap due to long path/file names are no longer a
problem.
14. New license required for CNet. Contact ZenMetal for your new license.
15. File-task is now passed the physical subboard number to reduce
the chance of possible error in finding the file to be tested/transformed.
Changes/fixes for v4.24h
------------------------
1. Fixed shifted GETUSER values. Old doors will now work without changes
to GETUSER values.
2. Completed AppIcon and AppMenu support for mail-task.
3. Mailboxes now default to open for NEWUSERS. You may have to use
"EA1-" and change your current users' "Mailbox Open" VDE setting to YES.
Changes/fixes for v4.24g
------------------------
NOTE: CNET:BBSPORT#? files altered and moved to CNET:CONFIGS/BBSPORT#?
You CANNOT simply move the files. You MUST run the upgrade program
"424g" from any AmigaDOS Shell before running this version of CNet
Amiga!
Be sure to also install the newer libraries before running this
upgrade executable.
The upgrade executable can be found in the "UPDATES" drawer of this
CNet maintenance release.
1. Mailscan at login now only looks in INBOX to speed up the login process.
2. Fixed the lost/hidden mail bug.
3. Mail sorting options implemented in Edit preferences (EP). Two new
systexts were added:
systext:new/mailsort
systext:help/mailsort
The available options are:
Newest last
Newest first
Handle/name
Subject
Please see the mailsort HELP text for more information about these
options.
Added bbstext lines 2250-2256.
4. Mail is now bounced if the recipient's mailbox is closed.
ONE case overrides this action. If the sender and recipient have the
same account number (eg. mail to self), then the mail CANNOT be
bounced and therefore is saved to the user's inbox.
5. Checking of selected file(s). If selection is not found (eg. moved or
deleted) when SS or DS command is used, the user is informed of this.
Change in bbstext line 381 to implement the extended verbosity.
6. Subboard sorting via "EL/Other Flags/Item sort" and the OR command
should now be working 100%.
7. Various changes to the Config GUI to fix improperly offset checkbox
gadgets in Protocols and Archivers windows.
8. Repair_Sub now BLANKS the Title and SubDirName (aka GO ARG) of subboards
that are killed as it repairs your subboard structure.
9. KL command now BLANKS the Title and SubDirName (aka GO ARG) of subboards
that are killed.
10. Added three new CallHost()'s to empty.c:
WriteUKeys() - write the Cnet myp->Key structure to disk.
See empty.c for a description of this function.
prototype - void WriteUKeys( void )
returns - none
example: - WriteUKeys();
---------------------------------------------------------------
DoANSI() - Send ANSI codes to the CNet port and remote user.
protoype: - void DoANSI(UBYTE n, UBYTE a, UBYTE b)
n=the type of ANSI code to be sent. eg. 'H'
a=the first argument to the ANSI sequence
b=the second argument to the ANSI sequence.
returns: - none
example: - DoANSI('H', 1, 4);
the above call would use the ANSI cursor position
code to position the cursor at line 1, column 4.
----------------------------------------------------------------
DoANSIOut() - Send single ANSI control code to the CNet port and remote.
protoype: - void DoANSIOut(UBYTE n)
n=the type of ANSI code to be sent. eg. 'K'
returns: - none
example: - DoANSIOut('K');
the above call would use the ANSI end-of-line
delete code to delete the current line including
the character under the cursor.
11. Added feedback/newuser mail check at login for users with sysop
maint. Changes to bbstext lines 225-228 and new lines 2257-2260.
12. Return-receipt mail fixed.
13. Fixed a memory leak in mail-task that caused partial mail messages to be
displayed in mail-task GUI.
14. Device field in Config/Modems extended from 21 characters max to a
maximum of 40 characters to support longer device names such as
squirrelserial.device.
15. (repeat of the note at the top of this changes section)
CNET:BBSPORT#? files changed and moved to CNET:CONFIGS/BBSPORT#?
You CAN NOT simply move the files. You MUST run the upgrade program
"424g" from any AmigaDOS Shell before running this version of CNet Amiga!
The upgrade executable can be found in the "UPDATES" drawer of this
CNet maintenance release.
Changes/fixes for v4.24f
------------------------------
1. NOGMT arg added to NNTPGet to prevent NNTPGet from using the GMT
keyword with servers that may not support it.
eg. NNTPGet NEW NOGMT
2. Internet email addresses with a numeric digit in them are no longer
treated as an invalid address.
3. Local echo support added to cTelNet. Use "mode ECHO" within cTelNet
to toggle local echo on/off.
4. A completely re-written Configuration editor (Config) and GUIs. Multiple
windows can be open in the same instant. Many windows are now sizable
and font adaptive. ARexx control will be added to Config in the future.
5. Fixed yank-task bug that caused no messages to be yanked.
6. Fixed RexxLoadEditor bug.
Changes/fixes for v4.24e (pre-beta)
------------------------------
1. CopySelf mail no longer generates two copies in SENTMAIL.
2. Moving files around in BaseX: partitions is now smarter. The "Move to
which partition?" prompt now defaults to the base partition with the most
free bytes.
3. Duplicate/identical GO keywords are now filtered out for GO arg display
when "GO <non-existent go key>" is used.
4. Related to number (3) above, the subboard number for the
"List, :, /, or Subboard#:" prompt default to the current sub. That
is, the one you are moving files in. Fixes (3) and (4) allow for easier
cross-partition file relocation in the same subboard.
5. Door/list type subboards now fixed. Sysop maint users can see ALL items.
Regular users see a list only of items they can access in a sequentially
numbered list, with no "skips" in between numbering.
6. Transpose is now a BBSMENU command in "1; Maintenance Menu" and also now
accepts two arguments, a user account number and an access group number
to do auto-transpose.
eg. TRANSpose 1 31
The above would assign account number 1 to access group 31.
With auto-transpose, the only "priviledge flag" not lost is the
"SuperUser" flag. All other flags, limits and priviledges are set to the
newly assigned access group defaults.
If no arguments are specified, then the normal transpose is initiated.
NOTE: both arguments must be specified and MUST be numeric. No
handle/name parsing is performed for auto-transpose.
7. Mail-task GUI no longer flashes uncontrollably when minimized.
8. Menu added to mail-task window to allow quitting of mail-task using
Mail-Task/Quit menu.
9. Mail-task menu added to allow selection of a custom font for mail-task's
GUI display.
10. Change in BBSTEXT line 802. (see !bbstext_stock)
11. Added snapshot window position to mail-task menu.
12. Fixed "Originally to:" line in FOrward Mail.
13. System OLMs from mail-task now use the user's time form (eg. AM/PM or
24 hour) for OLM sending on receipt of new mail. Changes in bbstext
lines 193, 200, 2136, 2137, 2152,
14. User logon/logoff broadcast OLMs now use the user's time form also. Changes
in BBSTEXT lines 83 and 153.
15. User logon/logoff broadcast OLMs are now NOT sent to the port belonging to
the user logging off.
Changes/fixes for v4.24d (beta)
------------------------------
1. Added text/menu reload from remote (RT) to maintenance section of BBSMENU
Changes in BBSTEXT lines 1762-1764.
2. GUI display added to mail-task. Arguments to mail-task are as follows:
I=ICONIFY/S,N=NOGUI/S
I/ICONIFY = tell mail-task to run with it's GUI in "menufied" mode.
That is, the "tools" menu of Workbench will have a
file-task menu and, when activated, mail-task will open it's
GUI. (may not yet be implemented)
N/NOGUI = Tell mail task not to use a GUI interface. All text to
be output will be sent to the current output stream (ie.
the current CLI/Shell). (may not yet be implemented)
There are 6 items of information displayed:
TOTAL: this is the number of total mails processed since mail-task
was started.
BOUNCED: the number of mails that were bounced back to the sender
for various reasons, detailed in the return report. In future,
the bounced mail report will also be "carboned" to the sysop
so that he/she is aware of any problems that might be
immediately repairable.
LOCAL: the number of mails saved to local users since mail-task has
been running.
NET: the number of combined netmail and internet email sent since
mail-task has been running.
STATUS: the current status of mail-task, whether idle, or processing.
There is also a buffer window/listview to allow the sysop to scroll
back and view the activities carried out my mail-task.
BUTTONS:
RESET DISPLAY Clears the buffer window and all mail-task mail counters.
MENUFY (may not yet be implemented) allows you to (iconify) the
GUI a "Menufied" state.
Quit closes down mail-task. Please note that your system
will not process any mail if mail-task is not running!
CLOSE WINDOW (may not be implemented yet) allows you to iconify
GADGET the mail-task GUI to an AppIcon state.
3. MailForward fixed and now does not let the user edit an item as it is
forwarded.
4. Added ARexx command "reloadtext" to CNet Arexx ports CNETREXXp to allow
Rexx scripts to force Control to reload bbstext/menu/charges, where
"p" is the portnumber.
5. Various fixes to ARexx commands that were holding a lock on files.
(ie. RexxLoadEditor, RexxSaveEditor, RexxCallEditor, etc,.)
6. New cnetgui.library added. This library will expand to contain the
functions necessary to create the CNet graphical user interfaces.
Currently, as of v4.24d, this library contains only the function
CNGTextWidth() which, given a string and a TextAttr structure, returns
the width of the text string in pixels. See cnetgui_pragmas.h and
cnetgui.h for the function prototype(s).
Changes/fixes for v4.24a (beta)
------------------------------
NOTE: It is unclear to some so please note that both NNTPGet and
CtelNet have been tested and work fine with the two most often used
Amiga TCP/IP stacks, Miami and AmiTCP. Some sysops assumed that these
clients would only work with AmiTCP. This is not so. They work with
any TCP/IP stack that creates a "bsdsocket.library". Note also that
bsdsocket.library is not a physical library. That is, it does NOT exist
on your hard disk. It is a logical library that is created by your
TCP stack.
ALSO: If you have already add pre-defined hosts to CtelNet (ie. using "AH"),
you must run the update program called CTNCONVERT1 which is located in
the UPDATE drawer of this distribution.
1. Added some loggable lines from NNTPGet to BBSTEXT lines 2231-2236 so
that sysops may customize MCI/ANSI colors in output/logs..
2. Added KillHost (KH) to CtelNet - change in line 2221 of BBSTEXT.
Also run the CTLConvert1 program found in the internet_support
directory of DOORS. CTelNet1 is a DOS executable that is ran from any
CLI/Shell.
3. Added expansion lines 2222-2230 to bbstext.
4. Added some lines of NNTPGet to bbstext lines 2231-2236.
5. Line 2237 of bbstext contains the path/filename that the list of active
newsgroups are saved to when you use the GETACTIVE switch of NNTPGet.
Change this path/filename to change the location that the active
newsgroup list is saved to. (default = UUNEWS:ACTIVE)
5. RUN command prompt extended to allow a command length of 60 characters.
6. Control now requires that **AT LEAST** CNET:BBSTEXT and CNET:BBSMENU exist.
If either do not exist, control does not run.
7. Line 2238 added to bbstext to allow users with sysop maint to override
return-receipt mail. NOTE that due to the way that mail is handled in
CNet/4, it is not possible to make this option a "command" as it was in
CNet/3. If a user has asked for a return-receipt, you will be prompted
whether to override the return-receipt via a yes/no "override
return-receipt," prompt. This also allow allows sysops to enable
ALWAYS override without prompt by replacing bbstext line 2238 with the
following text/MCI:
n1User has requested a return-receipt - auto-override enabled.=1}
8. NNTPGet code altered so that it will run without a TCP/IP stack running
but will notify/log that no stack is running and then exit. This change
was made to prevent NNTPGet from displaying a system requester stating
that "AmiTCP vx.xx must be started first."
9. Fixed arg parsing for "everywhere commands" in CtelNet.
10. Added MODE command to CtelNet to allow instant mode switching. To
support this command, BBSMENU received another new section (41).
Please see !bbsmenu_stock and add this required menu to your
modified/current bbsmenu.
Supported modes are listed in systext:menu/ctelnet_modes and the menu
is available at the mode prompt if "?" is entered. The user can switch
modes as follows:
Telnet> MODE
Enter MODE command (? for help): Bin
Negotiating binary mode with remote host.
(OR)
Telnet> MODE Bin
Negotiating binary mode with remote host.
11. NNTPGet modified to notify/log why a NNTP subboard was skipped during
news transfer. (ie. SUSPENDED status set, etc,..)
12. Predefined hosts are now alphabetized as they are added to CtelNet and
are displayed in alpha order as well.
13. Changes in BBSTEXT lines 753, 1144, 1145, 1174, 1198 and 1199 to correct
improper network terminology. "UUCP" id is now termed "MAIL-ID".
14. Change bbstext line 1672 from "UUCP" to "Usenet News" for proper display
of the old "UUCP" network affiliation in EL.
15. Control display fixed to show the previously known "feedback" as "Sysop/FB"
(ie. feedback and msgs-to-sysop are counted as "Sysop/FB mail". The
"mail" display of control also changed to appropriately specify "#1 mail".
16. Invalid GO argument operation changed. If a user enters a non-existant
GO arg, the current go arguments will be parsed and any that partially
match the user's entered GO argument will be displayed in alphabetic
order. The user can then choose one of those, enter a NEW GO arg or press
enter to continue where they were before entering the GO command.
17. Single byte getuser shift fixed.
Changes/fixes for v4.24 (beta)
------------------------------
NOTE: Since the inception of CNet/4, a change was made to log IDs, which
Ken pletzer did not make us (sysops & ZenMetal alike) aware of.
Log IDs above 407 were no longer used. Log ID 408 was previously the
ReadGFile log ID. No longer, ReadGFile was grouped into log ID
405 (ReadText). Shortly after we (ZenMetal) acquired CNet Amiga,
I (Ray) added an "Execute" log to CNet which was given the previously
unused log ID of 408. This execute log will contain information
about any DOS activity which is performed by the AmigaDOS command
executor (for developers, the Execute() function). This is the reason
your old ReadGFile log contains what would seem to be extraneous
information. So, please change log ID 408 to "Execute" and note that
log ID 405 is used for GFile/Text reads.
1. 3.X_to_4.X was not resetting the "magic" value for mail when converting.
2. "Short Description" lines text was being partially rendered into
the left hand border of the Config window in Limits.
3. MailVerify was still sending receipts (RPT:) when items were viewed.
4. Invalid characters ("?#/" etc.) were being allowed for handle/real
name.
5. Version strings are now updated for bugfixed executables and partial
releases.
6. Mail is now sorted so that new mail is at the TOP of the list during
mailread.
7. First version of the CNetC Telnet client "CtelNet". Requires
additions to BBSTEXT lines 2196-
CtelNet may be added to BBSMENU (as is shown in !bbsmenu_stock)
and may also be added to text/door lists and others.
Remember that CtelNet is a CNETC door. You must use MCI door type 2
(ie. {#4cnet:doors/internet_support/ctelnet}) or choose CNetC door
type when adding as an online door.
Text/Doors: You may specify two args here. HOSTNAME/IP and/or PORT
ie. title: Telnet to The Gnomes Guest House
filename: cnet:doors/internet_support/ctelnet
args: gnomes.org 23
when the user entered the number for this door item, he/she
would telnet to gnomes.org (The Gnomes Guest House).
note that the port number is OPTIONAL even if a host is specified.
CtelNet uses port 23 as default telnet port.
BBSMENU: Args may also be specified here (everywhere command section
example shown).
ie. TVRB |{#2cnet:doors/internet_support/ctelnet vrb.com 23}
if the user entered TVRB at any CNet prompt, he would telnet
to vrb.com (Virtual Reality BBS).
note that the port number is OPTIONAL even if a host is specified.
CtelNet uses port 23 as default telnet port so if you are required
to use a port number other than 23, you MUST specify the required
telnet host port number.
"RUN" command:
You may run CtelNet from the CNet RUN command. You can use any of
the following commands..
run;cnet:doors/internet_support/ctelnet
run;cnet:doors/internet_support/ctelnet HOSTNAME
run;cnet:doors/internet_support/ctelnet HOSTNAME PORT
Once ctelnet is running (a TCP/IP stack must be running),
use "?" to get a menu of the available options/commands.
Here are the menu commands in a short summary, as seen in the
systext:menu/ctelnet file:
Quit Close current connection if connected, and exit telnet
Open Connect to a remote site
List List of popular/pre-configured telnet sites
Close/Bye Close site currently connected to
STATus Current status of telnet environment
Display display operating parameters
? This menu file
Other BBS Commands such as WHO, CHAT, FEEDBACK, MAIL etc, are also available.
MAINTENANCE COMMANDS
AH Add a new host to the telnet host list
EH Edit a currently existing host
NT Set/enable NetTrace file for debug output
8. Users who did not have access could see the titles of items within "List"
type subboards.
9. New PortData extension (z->PDE) added to prevent GETUSER values
in PortData/MainPort from shifting as new variables/structures are added. This new structure
will be mainly used for internet features/structures but may also be of
use for other new/internal BBS features. MainPort may get a similar
extension at a later date. Some minor getuser shifting MAY be apparent
in this release.
Note that to access this new extension, the FIRST getuser digit must be
"3".
ie. 1=PortData (struct PortData in ports.h)
2=MainPort (struct MainPort in ports.h)
3=PortData extension (struct PortDataExtension in ports.h)
The first feature to benefit from this new data structure is the newly
completed CNetC telnet client.. Please see ports.h and telnet.h for more
info.
Changes/fixes for v4.23 (beta)
------------------------------
I have been notified that the "Interface Type" Setting may appear
to have a bug but it really does not. When a user first uses EP
to set the interface type, a garbage value may exist in that variable
and some invalid text may appear in that setting. Once the user sets,
his interface type this garbage will not appear again. Please have your
users (even the ones who like the "new way" of CNet/4) set their Interface
Type to clear any garbage that may exist in this variable.
1. NEW MESSAGE pointers are now being saved properly (fixed bbs executable
previously released seperately).
2. Return receipt mail now does not return a receipt when in VERIFY mode.
3. Fixed cnfingerd bug where if "skip idle ports on WHO display" was
selected, cnfingerd did not exit and used excessive CPU cycles.
4. Fixed FILE_ID.DIZ bug that caused previous description to be imported on
other files/items that do not contain a FILE_ID.DIZ.
5. Fixed SUPERUSER display in WHO.
6. Fixed various _plan, _plan_sq and _select3 saving to incorrect location.
7. File SHORT descriptions are now stripped of trailing newline characters
before saving (no more blank lines between items during browse/scan).
8. Optimized mail-task saving of new mails to reduce "MailCheck" wait at
login and speed up mail header initialization of saved mail items during
Mail Read.
9. First incarnation of REPAIR_MAIL, a utility similar to REPAIR_SUB
but this one repairs user mailboxes. This utility is to be ran during
maint hours, or any time you (the Sysop) wish, that recovers mail from
corrupted mailboxes/folders and packs mailfiiles to reduce user wait-time
during mail header initialization. ie. during MailRead and "Scanning for
new/old mail at login." New command "RRM" added to the end of stock
BBSMENU section "1; Maintenance Commands."
10. When sending feedback, users are no longer allowed to set mail flags
(ie. Freq, Copyself, etc,..) just before entering the editor.
11. NNTP Options screen added to subboard VDE to allow configuration of NNTP
variables.
12. NNTP Subboard Type setting added to NNTP options in subboard VDE. Don't
forget to run the executable "VDE" in any CLI/Shell to update your system
VDE files. Current settings for NNTP Type are:
SUSPEND: Causes NNTPGet to skip the subboard and not scan or import
new news from your NNTP host.
FULL IMPORT: NNTPGet imports article headers and message body to your
system.
Future Types: Connect for Body, Connect for Header/Body and
Mailing-List. More on these types when they are
implemented.
12. NNTP Max Dupes setting added to NNTP options in subboard VDE.
NNTP Max Dupes is the number of NNTP IDs to buffer for NNTP duplicate
message checking. If you set this value to 200 dupes, then 200 IDs will
be buffered. IDs may be up to 256 characters in length so please use a
reasonable value for Max Dupes. Only one dupetable will be loaded at any
instant so you don't have to worry about each dupetable taking up RAM. A
simple calculation:
MAX RAM FOR DUPETABLE = 256*MAXDUPES
Therefore, if you set 200 as a value for maxdupes, 51200 bytes (51.2k)
of memory MAXIMUM will be used while importing NNTP messages, if the
dupetable is full. The buffered ids are variable length so the dupetable
may vary in size but they will never exceed the guidlines set out in the
MAX RAM calculation given above.
12. Enforcer hit removed from NNTPGet startup.
13. Changes to BBSText lines 2191-2195 for NNTP VDE support. Curly braces
{} on lines 2193-2195 are required for future expansion of NNTP Type.
14. Carrier check added to "TO:" and "CC:" prompt of mailsend.
15. Feedback at login no longer allows a return receipt to be requested.
16. CNet/3 to CNet/4 all-in-one conversion program completed. Users upgrading
from CNet/3 (3.05c or higher) only have to run ONE executable to upgrade
to CNet v4.22.
17. Completed CNet Install script (initially for CNet/3 by Bob Maple with
previous changes by Jim Selleck) to be used with CNet/4.
18. Edit Mail now saves changes.
19. Mail Forward Alias re-implemented. A single mail alias of "+" allows
your incoming mail to be CARBON COPIED to another user or network
address. Note that you are currently allowed only one mail forward
alias. If you specify more than one, the first instance will be used.
This will change later to alow multiple carbons.
Mail Forward Alias Examples
ALIAS NAME ADDRESS
============ ============ =================
+ Ray Akey @1:246/74
...the above alias will cause your received mail to be also sent to
"Ray Akey@1:246/74"
ALIAS NAME ADDRESS
============ ============ =================
+ rakey @cnetbbs.net
...the above alias will cause your received mail to be also sent to
"rakey@cnetbbs.net"
ALIAS NAME ADDRESS
============ ============ =================
+ 125
...the above alias will cause your received mail to be also sent to
the local user with account number 125.
20. File/Byte credits are no longer added or subtracted if a user has
unlimited file/byte credits priviledges. (set unlimited setting in Edit
Account "PRIVILEDGES" VDE).
21. READ MESS TO Handle/Name fixed to include searching in network messages.
22. PowerQuote feature of mail quoting does not munge message anymore.
23. mail alias bbstext change in line 2139.
24. A yank-task bug that arose first in Perspective's CNet v4.0, which
caused subboards to NOT be yanked was found and fixed (thanks to Neil
Palumbo for sitting on a dial-in port until 5am with me to hash the
problem over. :). This bug may or may not have fixed the problem some
sysops are having with yank CRASHING. Please let me know if this does
or does not remedy yank crashing problems.
Also, to aid in future yank-task bug investigation, yank-task
is now capable of being executed in a CLI/Shell and displays verbose
information about the current yank job. If you find yank is giving you
a problem, "break" the currently running yank-task from any CLI/Shell and
then run yank in a CLI/shell and observe it's output.
ie. yank-task
for extended verbosity, use:
yank-task 1
3rd party door coders: DO NOT assume that physical subboard 0
is the ROOT (ie. main) subboard parent. To find the root subboard Scan
the subboard list by accessing myp->Subboard[x]. The root subboard/object
is designated by bit 64 of the Marker variable being SET. ie:
if(myp->Subboard[x].Marker & 64)
{
/* first subboard in root/main list found */
printf("Found first object in main list: %s\n", myp->Subboard[x].Title);
}
25. cnfingerd was not creating directory systext:cnfingerd if it did not
exist.
Changes/fixes for v4.22 (beta)
------------------------------
NOTE: You ** MUST RUN UUCPREPAIR ** before using this version of CNet
Amiga. Most people having problems with mail receipt is due to the
UUCP ID being one character too long and UUCPRepair has been designed
to trap and repair this case. You, the sysop, will be prompted to
verify the new UUCP ID to be used. Many users may not have this
problem but those with long names (last names) will most certainly
be affected. You can either run UUCPRepair before installing
this version or you may run it after installiation, as long as it
is ran ASAP. UUCPRepair can be used at any time and will not
cause any problems if ran more than once. If fact, we recommend
that it be used MONTHLY to check and repair any invalid UUCP IDs.
Coders: There exists a small mismatch in the headers for NewMailFolder
(in mail.h) and KeyElement4 (in users.h) where the lengths
are 10 and 11 respectively. Please assume a length of **10**
for NewMailFolder.OwnerID and UserData.UUCP where the actual
UUCP ID is 9 bytes in length terminated with a single NULL (\0)
byte.
1. vde files are no longer included in the CNet distributions. From now on,
you must use the AmigaDOS executable called "VDE" to create your system
VDE files.
Simply enter the command CNET:VDE in any CLI/Shell to have your VDE files
created. Make sure you first copy the "VDE" command from this distribution
archive to your CNET: directory!
2. Fixed bug in ranges using MESS BY "<name or handle>" where only messages
written by LOCAL users were recognized even if network messages contained
a user named <name or handle>.
3. Arj fingerprint in Toss changed to 60 ea 2c 00 1e as the old fingerprint
wasn't recognizing all arj archives.
4. ARexx SETMAILSUBJECT is once again working.
5. The user subboard/message Interface is now configurable between the old
3.x style and new 4.x style in Edit Preferences (EP).
If CNet/3 type is chosen, CNet acts like 3.x in that entering a number X
while in a subboard causes the user to be placed in subboard X in the
current tree/level. Users must use Rx (where x is an item number) to read
a post/item.
if CNet/4 type is chosen, CNet uses the new format in that by entering
a number X, CNet will display to the user item X in the current subboard.
Users will be required to use /x (where x is a subboard number in the
current subboard tree/level) to move to a new/different subboard.
To add this capability, changes have also been made to BBSTEXT lines 1173,
1175, 1184, 1187-1189, 1192 and 1202. No BBSMENU changes are required.
See the included !bbstext_stock for an example of the new/changed lines.
The file systext:new/interface is a file containing an explanation of
this feature of CNet.
NOTE: If the file SYSTEXT:NEW/INTERFACE does not exist, the user will not
be asked for an interface preference and your system will not
sport a 3.x emulation mode. All users will be forced to use the 4.x
style message/subboard interface.
6. Fixed "Reply to <handle/name>?" in netmail carbon copied from the base.
7. Added "PowerQuote" to mail quoting. If a user selects "QUOTE=YES" in
the mail flags just before entering the editor to reply to a mail
item, PowerQuoting is used.
CNet's PowerQuoting features a "smart" quoting system which will NOT
prepend XX> to already quoted lines. Therefore, you don't end up with a
bunch of XX> XX> XX> or XX>XX>XX> text filling up the editor. Only
previously unquoted lines will receive the "quote specifiers" which
are made up of either the first two letters of a user's name/handle
or the first initial of the user's first and last name in his
handle or real name.
PowerQuoting does word wrapping before adding the "quote specifiers"
therefore reducing text fragmentation.
PowerQuoting will also be added to CNet's regular Line/VisEd quoting
(.Q and CTRL-X Q respectively) at a later date.
8. "Superuser" flag was not being shown properly in the WHO display.
9. A finger daemon is now included with CNet Amiga. To use this finger
daemon, you must configure your inetd to spawn the CNet finger daemon.
We have not yet looked at Miami but for AmiTCP, you need only do the
following:
- edit amitcp:db/inetd.conf
- Delete the current "finger" line from that file.
- replace it with the following finger daemon command:
finger stream tcp dos bin - CNet:cnfingerd
If you don't keep your internet doors/support files in CNET:,
please remember to change the "CNET:" path, in the cnfingerd
command above, to the proper path where your cnfingerd resides.
Miami and other TCP/IP stack users, please consult the related
documentation, for the software you are using to connect to your
ISP, for the proper inetd configuration details.
10. BBSTEXT changes: lines 2166-2189 added
11. Bug where CNet "lost" a user when his access was changed due to low
balance fixed.
Changes/fixes for v4.21 (beta)
-------------------------------
***** You must run the maintenance upgrade program "421" in any DOS CLI/Shell.
This must be done with CNet completely shut down! 421 is a
fix to upgrade some mail header variables which needed expansion
when the subboard structures were changes but didn't get this attention
at that time. (3rd party coders: the "UniqueBase" variable of
MailHeader4 has changed from 21 bytes to 75 bytes in length)
1. New CNetC door "UUCPRepair" for checking if any UUCP IDs are out of spec.
When ran as a CNetC Door, will scan your users' UUCP IDs and generate
error information about the invalid UUCP id and then prompt you for a new
UUCP id for each user with an invalid UUCP id.
Invalid UUCP ids can result in failure to receive mail and other system
messages so, be sure to run this door.
2. Transpose not saving changes made to user accounts during transpose fixed.
3. Using ranges when using SCAN (ie. S2-) during mail read was not working
properly. Fixed.
4. MailRead now should not produce "item corrupted" messages unless a mail
item is truly corrupt.
5. "GO MAIN" and using a colon (:) to go to main menu from within subboards
now work correctly.
6. CNet now has a dedicated background process for testing and transforming
files immediately after users upload files. In EL, under "File Testing"
and "File transform" there is now a "Background" setting in addition
to the previous, AMaint, Immediate, and None settings. If you get
garbage and not "BackGround" in your VDE display, then make sure you
have updated your BBSTEXT to include the new text in the newest
!stock_bbstext.. When someone uploads files to your system, the
background test transform will occur immediately without prompt, if you
have set the subboard for background test/transform. If someone enters
"TE" or "TR" and have access to those commands, they will be given a
choice whether test/transform is done by the background file-server
(file-task) or to perform and output test/transform results immediately.
file-task should be located in or copied to your root CNET: directory.
NOTE: even if you do not wish to have background processing of tests and
transforms, you should EL all subboards and verify that your
File test and file transform settings are correct.
We noticed that some of our Aminet mirror subboards were being
transformed/tested even though they were set to NONE. The values
have shifted slightly internally so unless you want subboards,
that were not supposed to have test/transform enabled, to be
tested/tx'd at amaint, be sure to EL all subboards. Don't forget
that you can mass EL by using EL x-y to edit groups of subboards..
7. Mail-read expanded to notify the user and re-read the list of mail items
when new mails are received if the user is currently reading his mail.
Be aware that this won't happen if they are sitting at the mail-read
prompt but if they SCAN, read, edit or perform any command, their mail
item list will be updated. This is checked before AND after the mail-read
prompt is displayed. Later, it will be expanded to update even if the user
is sitting at the prompt, with no activity..
8. Fixed bugs where ports were not closing if a user was dumped while
"close port?" was set and, closing a port while a user was online
dumped the user but the port did not close.
9. Mail-bouncing re-implemented in mail-task. If a mail cannot be delivered,
the originating user's message will be returned with an explanation as to
why the message could not be delivered.
10. DIZ ADD now implemented. The format for DIZ extraction and ADD is as
follows:
THE DIZ EXTRACT COMMAND
=======================
an example for LHA:
lha x %s %s
for programs capable of displaying FILE_ID.DIZ to an amigados shell:
DIZ_utility >FILE_ID.DIZ %s
In the above (and in ALL diz extract commands in config/archivers),
- the first %s is replaced by the full path/filename of the file
that was uploaded or adopted.
- the second %s is replaced by the actual text "FILE_ID.DIZ"
- all extraction/processing occurs in a dtempX directory in the
directory specified in the "Arc Examine Temp" path in config/paths.
That is, CNet will change directory (CD) to the dtempX directory
before executing your extract command. The 'X' in dtempX is replaced
by the current port number. ie. If RAM: is set as your arc examine
temp and you have just uploaded a file on port 1, DIZ processing will
occur in "ram:dtemp1/".
- For DIZ processing utilities that are capable of redirecting their
output directly to an amigados shell/cli, you can use the command
"DIZ_EXTRACT_PROGRAM >FILE_ID.DIZ %s" where DIZ_EXTRACT_PROGRAM
is the actual path/filename of the DIZ extract utility. In this case,
the second %s, as noted above, can be left out.
THE DIZ ADD FORMAT
==================
In config/archivers is a DIZ ADD command string. In this string you
place the command used to add a FILE_ID.DIZ description to the archive
being described. By definition, this is where you put the command used
to add a FILE_ID.DIZ to the file currently being described.
An example for LHA (others are similar and the %s's mean the same thing)
DIZ ADD FORMAT
==============
dh0:c/lha r %s %s
OR
dh0:c/lha r %s FILE_ID.DIZ
The FIRST %s is replaced by the full path and filename of the file
that a FILE_ID.DIZ is being added to.
The SECOND %s is replaced internally with the text FILE_ID.DIZ and may
be ignored if you use the second example.
11. Mail that was/is marked as URGENT/HIGHPRI is now reset to regular priority
when it has been read.
12. Mail-task has been updated to use true file-notification. Instead of
checking to see if mail has been filed every 10 seconds, it only scans
mail:cnetoutbox when a new item has been filed. This does 2 things:
1) reduces CPU time during idle periods where no mail whatsoever
is received. There no need for file-system activity during these
periods.
2) provides IMMEDIATE delivery of mail when received.
13. Some minor code fixes in mail-task that may have caused mail, addressed
to "SYSOP", meant for the msgs-to-sysop folder to be saved to the sysop
feedback folder instead. Don't forget the command "VS" to view messages
addressed to "SYSOP." The VS command is the only SYSOP mail command that
doesn't exit if the msgs-to-sysop folder is empty. This allows you to
change folders and view newuser and feedback folders interactively.
Changes/fixes for v4.2 (beta)
-------------------------------
1. Copies of mail placed in SENTMAIL are no longer flagged as "new" mail.
2. An invalid GO argument now displays the text in "systext:menu/go" and
prompts CNet to ask the user if they would like to see a list of valid GO
arguments for objects/areas that they have access to (changes to BBSTEXT
lines 336 and 339)
3. ReadArgs template to toss was missing /S so PKTONLY arg returned "bad
arguments. Fixed.
4. Short description lines expanded to 2 characters in config/limits.
Note the max of 16 lines. Be aware that most file_id.diz processors
only support 12 lines.
5. DRop/JOin outside of subboards fixed.
6. Cron bug fixed where the invoke type (ie. Immedite-UDump etc,.) could
not be changed after an event was added/saved. Requires the newer
cnet.library included in this beta package.
7. Killing of CopySelf mail (saved from the date of this beta install forward)
will no longer be deducted from the System Activity Monitor (SAM). Please
note that CURRENTLY saved SentMail is not affected by this fix so your mail
counts may be slightly wrong until all previous items in user "sentmail"
folders are killed. That is, copyself mail saved previous to your
installing of this beta will still be deducted from the SAM. Please
consider running the COUNT maintenance door when you run amaint to correct
the SAM variable(s) until you are fairly sure all old sentmail is killed.
8. Upload resume fixed.
9. Subboard VDE problem with "Other defaults" fixed.
10. FIRST INCARNATION OF "NNTPGET", the new direct NNTP usenet news
import utility for CNet/4. Please note that for this first release
if you do not use the "NEW" argument, NNTPGet WILL NOT get any news
from your ISP. The NEW argument is, for the time being, REQUIRED.
When the SINCE argument is implemented, one of NEW, SINCE or GETACTIVE
will be required, but not all at the same time. Please read the following
IN ENTIRETY to avoid configuration problems.
NNTPGet currently requires AmiTCP/IP. It may also work with Miami and/or
MultiLink but this has not been verified. If someone would please let
me know about the latter two, it would be much appreciated and if it
does not work with those, I will look into adding support for those
TCP stacks..
NNTPGet is designed to directly import usenet news items directly
into your CNet message base, from your Internet Service Provider.
Before you run NNTPGet, there are a few things to note:
i) The "Go Keyword/Arg" for the usenet/UUCP newsgroup in your
subboard EL must be the exact name of the newsgroup as found
in the list of newsgroups supplied by your ISP. This list can be
retrived by NNTPGet and will be explained later.
ii) The "Part0/CD/Net" has a few restrictions if you are using
NNTPPost (which will later be replaced with another ZenMetal
CNet support utility). If you are going to use NNTPPost
to post usenet news from your system, you will need to create an
assign of UUNEWS: which will be the base path that articles will
be placed when they are received.
EXAMPLE:
NEWSGROUP NAME AS FOUND IN THE ACTIVE NEWSGROUPS LIST:
comp.sys.amiga.programmer
IN CNET SUBBOARD EL:
TITLE: csa.programmer (you can use anything you want here)
DATA DIR PATH: Base0:csa.programmer (again, use any path you
need for the cnet data files)
PART0/CD/NET: uunews:comp/sys/amiga/programmer
GO KEYWORD/ARG : comp.sys.amiga.programmer
****OR****
comp/sys/amiga/programmer
NETWORK: UUCP
... all other subboard VDE option are at your discretion.
NNTPGet accepts some command line arguments when it is ran:
N=NNTPSERVER/K,P=NNTPPORT/K,N=NEW/S,I=SINCE/K,A=GETACTIVE/S
Explanation of arguments (all optional):
NNTPSERVER: This is the name of the NNTP server for your ISP.
for example, my ISP has a domain of netrover.com
and their NNTP server has a hostname of
NEWS.NETROVER.COM.
In this case, I use: nntpget n=news.netrover.com
Please contact your ISP to find out it's news
server's hostname.
NNTPPORT: Defaults to 119 which is the usual NNTP news port
but may be used if your ISP uses another port number
for security reasons.
NEW: switch to tell NNTPGet to get only new news since
your last session. If you have not ever done a news
import using NNTPGet, it will get all new news since
the last 30 days.
SINCE: (not yet implemented) specify a date string and
NNTPGet will get only the news posted since that date.
GETACTIVE: tells NNTPGet to receive the list of currently
available newsgroups from your ISP. It is stored
as UUNEWS:ACTIVE so be sure to assign UUNEWS:
somewhere on your system. Most UUCP/NNTP utilities
use this directory to save news in a heirarchical
format (aka NESTED DIRECTORIES - each directory
used as a newsgroup with news items within) for
incoming news. The ACTIVE file is in ASCII format and
can be read with any text reader or editor.
If you do not specify an NNTPSERVER, NNTPGet will look for the environment
variable NNTPSERVER. So you may set this to assure that NNTPGet uses
this as a default by entering "SETENV NNTPSERVER <NNTP_SERVER_NAME>"
and then "copy env:NNTPSERVER ENVARC:" to assure that it is saved
and set when your system is reset/rebooted.
Changes/fixes for v4.13b (beta)
-------------------------------
1. SENTMAIL folder and "CopySelf" are now re-implemented. mail-task will
generate a "copy" of the sent email/netmail in the user's SENTMAIL
folder if the CopySelf flag is enabled when writing a new mail.
2. "Last Msg Serial" in subboard VDE expanded to allow 9 digits.
3. various fixes for UUNEWS and Toss/ifido importing of items with long
area/newsgroup subdirnames.
4. The entry in the Logs section of Config, titled "MaintLog" was changed to
"ReadLog". Still retains a log ID of 216.
5. New "RL" (ReadLog) menu command added to the maintenance menu section of
BBSMENU. This allows you to create/alias your own unique LOG reading
commands of simply enter "RL" and you are prompted for a log name to read.
Note that the path to the log is not entered, only the actual filename
of the log. CNet assumes a path of "sysdata:log/".
An example of creating a log alias has already been provided in BBSMENU.
Look for the alias "LA" in !BBSMENU_STOCK which is defined as follows:
LA~RL amaint
6. Toss, IFido and the mail server now filter MCI from Subject and From/To
fields.
7. Last Message Serial number in "EL" VDE is no longer a large 9 digit
number (time stamp). QWK requires that this number be 8 digits or less.
(this is the reason QWK replies were being filed as posts) To avoid
QWK/YANK problems in the future, please do a GLOBAL "EL" and set this
number to some median number such as 4000 or thereabouts for all
subboards. Do not be concerned if there is currently a 9 digit number
in that field, reset it to some 4 digit number anyways. CNet message
filing wil set the "Message ID" to be this number +1 and then increment
it each time a message is saved. If you delete all items in a subboard,
reset this Last Message Serial to 0 and CNet will begin message numbering
according to that number. Be aware that QWK uses the Message ID number
when filing responses, so try not to change it often or at all
once reset, or posts/responses may not get linked properly.
8. Repair_sub is now working again and must be located in your cnet:doors/
directory.
9. Cron now has an option to run and/or close the port, that an event is
destined to execute on, at the time of event execution.
There are three options:
IGNORE: If the port is loaded already, the event runs as scheduled.
If the port is not loaded, the event is skipped,
RUN: If the port is loaded, the event runs as scheduled.
If the port is not loaded, control loads the port, the event
is executed and on completion of the event, the port remains
loaded.
RUN/CLOSE: If the port is loaded, the event runs as scheduled.
If the port is not loaded, control loads the port, the event
is executed and on completion of the event, the port is
closed.
**NOTE**: If RUN/CLOSE is enabled and the port is already loaded
at the time of event execution, the port will still be closed
after the event executes.
10. Changed minutes.tenths-of-minutes display of next pending event (in
SYSINFO window of control) to hours, minutes display.
11. Repair_sub now allows a "renumber" argument to force mandatory renumbering
of MessageIDs. Try this method if your yanks/QWKs are failing (ie. no
messages yanked) and you know there are new messages. Also, please do
not use the "renumber" argument too often as messages from old QWK packets
that users have yanked previously to your renumbering may not get filed
properly and could be filed as new posts rather than responses. This
argument should be used only as a last resort (ie. if your
"LasMessageSerial" for any subboard exceeds 8 digits).
12. mail-aliased "account ranges" no longer include deleted accounts
(which were denoted by a Handle/RealName of '!')
13. mail-alias [K]ill command was TOO powerful. Prompts for Name and
address added to Kill Alias command. Alias killing is based only on the
"filled-in" prompts. That is, if you leave one or two of the prompts
blank, only aliases with fields matching the remaining information
are killed. You can still mass kill aliases by entering only the
"Alias" part of the mail-alias. If all three are left blank, NO
mail-aliases are killed.
14. PKTONLY argument added to toss which can be used to quickly process
netmail and areafix requests only. This can be used to quickly respond
to areafix requests from remote systems by using the syntax
TOSS PKTONLY
in your TURNAROUND command for trapdoor and other mailers that support
this style of quick answering of areafix and netmail messages while the
remote system is still connected. There would be no need to wait for
callback to get replies to your areafix request as they can be now
processed and answered immediately.
15. Fingerprint added to Toss for decompression of packets compressed
with ARJ.
Don't forget to add .ARJ to your ARCHIVERS section of config if you wish
to support ARJ. Be sure to use "ARJ e %s" for the Extract Format.
NOTE: a future beta/release of CNet will have the capability for you to
define your own archiver "fingerprints" in CONFIG/ARCHIVERS so you
don't have to wait for new versions of CNet to support newer/popular
compression formats..
16. AMaint sports four new arguments/options that are specified on the command
line of cron, in your BBSMENU or wherever amaint is executed from:
NOUSERPURGE: tells amaint not to do a user purge
NOBASEPURGE: tells amaint not to do a message/file area purge nor
adopt orphans (if configured to adopt orphans at maint)
NOBBSPURGE: tells amaint not to weed old items in the BBSLIST.
CURRENTDATE: tells amaint to use the CURRENT DATE and TIME for the
"Post Date" of newly adopted items. If this option is not
present, amaint uses the AmigaDOS date of the file being
adopted.
To set an amaint event using any of these, use the following example
as a guide for the COMMAND in your CRON configuration for amaint:
cnet:doors/amaint nouserpurge nobbspurge
NOTE: These args cannot be specified at CNET prompts. They must be
added in the CRON/BBSMENU command.
17. AMaint now looks for descriptions in the files.bbs file specified on line
634 of BBSTEXT when a new file is adopted by amaint. If there is a
%s in line 634, AMaint will (as usual) look in the current subboard
for the specified files.bbs file or, if there is no %s in line 634,
AMaint will use the discrete path specified (ie. "DOWNS:files.bbs"
rather than "%sfiles.bbs") for those who like to keep their files.bbs
descriptions in a single location/file.
18. AMaint now searches newly adopted files for an existent FILE_ID.DIZ and
uses that description, rather than the files.bbs description, if present.
19. FILE_ID.DIZ processing is *partially* functioning as of this beta.
Only the EXTRACTION of DIZ descriptions is functioning at this time.
Other options are in progress but many people have voiced their concerns
about getting fixes for current bugs so I felt that at least having the
extraction of DIZ working at this point, will suffice until the next beta.
Please make sure you have a valid command configured for your "DIZ
Extract" command in config/archivers.
an example for LHA:
lha x %s %s
for programs capable of displaying FILE_ID.DIZ to an amigados shell:
DIZ_utility >FILE_ID.DIZ %s
In the above (and in ALL diz extract commands in config/archivers),
- the first %s is replaced by the full path/filename of the file
that was uploaded or adopted.
- the second %s is replaced by the actual text "FILE_ID.DIZ"
- all extraction/processing occurs in a dtempX directory in the
directory specified in the "Arc Examine Temp" path in config/paths.
That is, CNet will change directory (CD) to the dtempX directory
before executing your extract command. The 'X' in dtempX is replaced
by the current port number. ie. If RAM: is set as your arc examine
temp and you have just uploaded a file on port 1, DIZ processing will
occur in "ram:dtemp1/".
- For DIZ processing utilities that are capable of redirecting their
output directly to an amigados shell/cli, you can use the command
"DIZ_EXTRACT_PROGRAM >FILE_ID.DIZ %s" where DIZ_EXTRACT_PROGRAM
is the actual path/filename of the DIZ extract utility. In this case,
the second %s, as noted above, can be left out.
20. Transpose bug fixed where new privs were not binding after a transpose.
21. BBSTEXT line 2143 is now used to set file patterns for files that are
NOT to be auto-adopted at maint. The pattern is any AmigaDOS wildcard
pattern. Each pattern must be separated by SPACES. TABs are not
allowed on this line, nor is MCI.
EXAMPLE AMIGADOS FILE PATTERNS:
#?.readme means not to adopt files with an extension of
".readme"
file.bbs means not to adopt any file called "files.bbs"
(#?.lha|#?.zip) means NOT to adopt lha and zip files
~(#?.lha|#?.zip) means to only adopt lha and zip files
The default in v4.13b's bbstext is as follows:
#?.readme #?.ads files.bbs
using the default noted above keeps amaint from auto-adopting .readme,
.ads and files.bbs files.
Changes/fixes for v4.13a (beta)
-------------------------------
1. limits in bbsechos were not expanded in v4.13. You must run the upgrade
utility "413a" to convert cnet:bbsechos to cnet:bbsechos4.
2. Longer event "command" strings caused the stack to be corrupted due
to some "lingering" CNet 4.0 defines. Fixed.
(no BBSMENU/TEXT changes for this small bug-fix release)
Changes/fixes for v4.13 (beta)
-------------------------------
NOTE: You must be sure that all ports & control are not running and then
run the maintenance program "413" before using this version. The
413 upgrade executable will convert your sysdata:subboards3 to the new
sysdata:subboards4 format. Your subboards3 file will not be deleted
so that you may still run older CNet releases if you need to.
Also note that some BBSTEXT/MENU changes were made for this release.
Be sure to use a text-changer or text "diffing" program to find
and change/update your bbstext/menu.
1. Mail Aliases are once again implemented.
Multiple mail aliases are possible for a single "Alias" to support
"group mail" so you may define a single alias for many users by
entering their names one at a time, but using the same "alias" when
prompted for an alias. Also, you may use aliases for local (ie. belonging
to the same system) users as well as network addresses by simply NOT
specifying an "address" but only the user Name and Alias. Note that
ALL aliases still pass through access filters so, just because a user has
a "network address" defined in one of his/her aliases does not mean that
the mail will be sent. If the user does not have network access, then
the user's network mail alias will not be valid.
2. Only "Immediate-NoDump" events were working in v4.12d. Fixed. All types
should now work and the "Next Event" field of Control's System Info
screen should display the time of the next valid event.
3. OLM's to maint users stating feedback was received, were actually New user
applications and vice versa. Fixed.
4. NMAIL to new users sometimes went to NEWUSER (VN) and the new user
application was lost. Fixed.
5. MailSend (MS) now accepts a valid CNet RANGE of accounts. For example,
Entering "MS 1-50,75" now allows sending mail to accounts 1 through 50
including account 75. NOTE that you cannot mix and match account ranges
with network addresses and user handles/names. For account ranges to
work, you must use only valid NUMERICAL account ranges.
6. Related to number (5.) above, local Account ranges are now allowed in mail
aliases. To define a local group of users in a mail alias, simply set your
alias up similar to the following example:
ALIAS NAME ADDRESS
============ ============ =============
Range1 1-50,75 [leave blank]
Therefore, entering "MS range1" would send mail to accounts 1 through 50,
while including account 75.
7. Subboard Unique Dirname and paths have been expanded to 3x the previous
length, with unique dirname having a new maximum of 75 characters rather
than the previous 21 characters. Data path has been expanded to 95
characters from it's previous 40 character limit.
8. Added "VS" command to View Sysop Mail which are mail items in the
Msgs-To-Sysop folder of the SYSOP mail directory) The Msgs-To-Sysop
folder contains messages that are simply addressed to "SYSOP". These
SYSOP messages are usually carbon copied from network echos when unsavvy
users address their messages to "SYSOP". They are placed in Msgs-To-Sysop
to reduce mailbox clutter in your (sysops) real mail folders. However, CNet
DOES support LOCAL mailing to "SYSOP" and these mails are also placed in
Msgs-To-Sysop.
NOTE: Items in the msgs-to-sysop folder are counted as FEEDBACK so if your
"VF" (View Feedback) command returns empty and you still have a
non-zero feedback counter, check mail-to-sysop using your "VS"
command before reporting this as a bug.
9. IUUMAIL bug fixed, where imported mail was directed to the wrong mailbox.
10. The same bug that plagued IUUMAIL was found in TOSS and IFIDO. All
fixed.
11. Fixed "checkable" control menuitems (no new users, sysop is in, etc..)
12. Fixed amaint problem of deleting the same users over and over again.
13. systext:vde/subboard has been altered, the subboard VDE has been
reorg'd and the following new FILE_ID.DIZ processing configuration
variables exist for EACH subboard:
DizTypes: Archive types to allow diz processing on. 0-31 are allowed
and match the type in the "Archivers" section of config.
ie flag 0 = the first archiver,
flag 2 = the second archiver
etc,.
DizSave: settings: 1 = Save Edited Diz = save/replace edited diz to archive
0 = Don't Save Diz = don't save/replace diz to archive
UseSentBy: settings: 1 = Add sent-bys = add sent-bys to description/diz
0 = Ignore sent-bys = don't add sent-bys to diz/description
DizEdit: settings: 1 = Diz Edit = allow DIZ editing by user
0 = No edits = no user diz edits
NOTE: Due to my having to release this beta prematurely, the DIZ processor
is not yet functional. I will address the significance of the DIZ
settings and provide example DIZ strings for config when the DIZ
functions are implemented, most likely in one of the next two beta
releases.
Changes/fixes for v4.12d (beta)
-------------------------------
pre-notes: please be patient with these things. The mail system re-write
was a large undertaking and these things are bound to pop up in
something so diverse as the new mail system. The new system is
ultimately more powerful than the old one and allows easy internal
feature expansion. Once fixed, these bugs should not ever resurface.
I am attacking them as fast and furious as possible. Please let
me know if there are any more residual mail bugs ASAP.
Also this release was much delayed so as to assure that events are
100% bug-free. There were many problems with the way Perspective's
CNet AMIGA v4.0 handled events and these did not become apparent
until 4.11 when I had events working "in principle" although they
were very buggy because of the time handling code (ie. the many many
ChangeDirs to your CNet partition and "env:". You may still see the
odd CD to env: but that activity has been reduced by over 800%.
1. This is once again a full package as the libraries have changed and
version/revision numbers for the libraries have changed.
cnet.library and cnet4.library are now correctly numbered (v4.3).
From this point on, any changes that do not require a complete distribution
archive will be placed online (at The Metal Shoppe first) as single
executables to save LD sysops phone charges.
2. mail-task problem caused lockups. Fixed.
3. Added "send mail to ... Is this correct?" prompt after TO and CC
filled in.
4. Related to above, FTN (fidonet) netmail "TOs" and "CC's" are now
expanded to the full remote user and system name for verification by user.
5. UUCP/FIDO mailsend access was not being checked before allowing mailsends
to network addresses.
6. Toss/XFido problem that added some extraneous characters to outgoing msg
headers fixed.
7. Toss problem that duped addresses on replies, fixed.
(ie. Ray Akey@1:246/74@1:246/74) Old mail may stil "look" broken
when you reply but new mail is imported fine.
8. Online maint users now receive notification (System OLM) when feedback or
new user applications are received/filed.
9. Quoted text (via the flags you set before entering the editor) during
mail reply appeared below the user's signature. Fixed. It now appears
above the user's signature.
10. Cron has been updated to include settings for a "start date and time"
which now gives the capability of "postdating" events to start sometime
in the future.
11. Cron received "repeat" settings for Days, Hours and Minutes. These
settings are use, for example, to cause and event to be repeated every
x days, y hours and z minutes.
Examples: DAYS=0, HOURS=1, MINUTES=0 to have an event repeat every
hour.
DAYS=1, HOURS=0, MINUTES=0 to have an event repeat every
24 hours.
DAYS=0, HOURS=1, MINUTES=30 to have an event repeat once
every hour and 1/2.
DAYS=1, HOURS=6, MINUTES=0 to have an event repeat every
day and 1/2.
Alternatively, you can specify, for example, 48 repeat HOURS
and Cron will adjust the days, hours and minutes accordingly...
You can also specify a "start date" as some date in the past
and Cron/Control will bring the date up to the current date
(if the event is a "repeat event") automatically, assuring
that the "repeat time" is strictly followed.
If you specify a date in the past (ie. 08-Jan-78) for an event
that is not repeated (ie. no repeat days, hours or minutes set)
the event will simply be deleted. Please keep this in mind when
adding "predated" events.
12. Added sysdata:log/events log to allow sysops easy verification that
events have or have not been executed.
coming: Mail-Aliases (as a few have noticed) are not yet re-implemented but
should be for the next beta. They will be more powerful than the
previous aliases used in versions 4.0-4.10 and will allow full
editing, deletion and addition. Aliases will be allowed for ANY
mail address.. Local, Fidonet, internet etc,.. These also
will pass through the "Access filter" to be sure a user cannot, for
example, send fido alias mail if he/she does not have fido mail
access. I had intended to have Mail-aliases in this release but
let's face it, you guys needed a fix for your lockup problems
before Mail aliases were resumed. Mail-aliases will FOR SURE
be back in for the next beta (v4.12e).
FILE_ID.DIZ support. v4.13 or v414 should have DIZ support fully
implemented (or at least functional anyways). I'm sure more
diz options/features will be added over time.
The old subboard name restrictions are being lengthened (someday
REMOVED altogether, but not yet) to allow longer Usenet newsgroup
names to be used.
The subboard conversion program is already written and tested but I
have some work to do in converting existing code to allow/use the
longer names and also adding/altering the VDE for the new DIZ options.
If you have suggestions for the DIZ processor, please get them in NOW
if you want to see them in the first DIZ beta release.
Changes/fixes for V4.12c
------------------------
REMEMBER: This IS a PUBLIC (4.x registered users only!) beta. If you aren't
up for a little bit of testing and a few possible bugs here and
there, then please do not install this beta until initial reports
are in from those who are willing/able to beta this release.
1. Getuser offsets had inadvertently shifted in v4.12b. They are now
back to normal and are once again compatible with getusers previously
used in MCI and ARexx doors. Some getusers may change in the future
but not nearly as drastically as they mistakenly did in v4.12(a).
2. Code added to prevent CNet from popping up "please insert volume xxx"
system requesters when a file/directory cannot be found.
3. "move read items to trashcan" prompt only appears when there is already
read items in inbox, feedback or newuser boxes.
4. "empty trashcan?" prompt only appears when there are messages in trashcan.
5. User login macros are now all executed BEFORE the "main menu" appears.
6. The "412" upgrade executable in v4.12b did not work properly on systems
that used a small stack size as it was created using some previous
Perspective Software wrapper code. This has changed and stack size is no
longer a factor for the 412 upgrade executable.
7. The license window is no longer "activated" when it opens.
8. Count was not counting any of the mail, feedback or newuser applications.
Fixed. When count is processing mail directories, an asterisk is printed
when a FOLDER is found, and a period is printed when an actual mail/feedback
or newuser application is found.
9. Ifido bug fixed where many posts/responses were chained to the end of
other messages.
10. OLM save to mail was broken. Fixed.
11. Added "NET" command to mail read, to display information about the
system from which netmail was sent. NET command added to the end of BBSMENU
section "7; Mail Read" to enable this command. Also added display lines to
the end of bbstext for this feature.
Changes/Fixes for v4.12b
------------------------
(limited beta release - only released to a few beta-testers to avoid mass
hysteria re: bugs :)
CHANGES
-------
1. A completely new/re-written event scheduler!
Gone is the CBase event-schduler previously introduced in the 4.x series
by Perspective Software.
The command CRON is now used to schedule your CNet events. It is very
simple to use and features a font-sensitive interface. Please be
aware that some large fonts may corrupt the display. ZenMetal recommends
a size 16 or less font for your Workbench SCREEN font. This is the font
that CNet/CRON uses for it's interface. In the future, if problems arise
for some sysops, if a font larger than size 15 is used for your WB screen
font, Cron will default to using an 8 point CNet font. Please let me
know if the current CRON gives you any display problems. This is CNet's
first font-sensitive configuration editor and, if it goes over well, all
other local GUI editors will be converted to a font sensitive interface.
The only field/attribute that may seem cryptic about the new cron (and the
old config event scheduler) is the "valid" setting. This field holds the
amount of time (HH:MM) that the event will remain valid, past the "start
time" of the event. That is, if the current time is greater than the
start time PLUS the valid time, the event will be skipped. If the current
time is greater than the start time (but less than the start time PLUS the
valid time) the event will be executed. Once executed, the event should
not be executed again until the next day set (via the DAYS checkboxes).
if anyone comes across any problem where a single event is being executed
more than once per day (if enabled every day), please notify ZenMetal ASAP.
Note that the "Name" of the Event is an identifier. that is, CNet really
does not use this field. It is for your recognition only, but each event
MUST have a Name unique from other Events. You cannot have two events
named AMAINT, for example. If you need amaint to run twice a day, call one
"Amaint1" and the other "Amaint2".
2. A bug crept in v4.11 in which the "W" command did not work properly in
File bases. It did not allow editing of short file descriptions. This
has been fixed.
3. The mail subsystem has a new filing system. It looks almost like the
old 4.x system from the user/sysop point of view but it is much more
efficient and unlike the CMail-based mail system, the new one does
not "grow" in size, never to be reduced. As soon as a mail item is
killed, you relinquish almost all hard drive space that was allocated
for that item. There will soon be a "Repair_Mail" utility to do much
the same as the Repair_Sub utility does for your message/file bases.
It will clean up old text and headers that, for some reason, didn't get
deleted.
There are some subtle visual changes that you'll notice as time passes.
Also, Feedback and Newuser mail goes to mail:users/SYSOP/FOLDERS/#?.
This allows you and your CoSysops to switch between reading feedback and
newuser mail by simply changing folders.
Multiple TO's and CC's are now 100% implemented and, when you enter the
editor, after selecting the appropriate flags for your mail item, the
FIRST recipient recieves name/handle expansion, in that his is the name
listed in the "To:" line at the top of Vis-Ed and the line editor. The
other recipients are still valid but are not expanded. It would not be
worth the trouble to lose a line of Vis-Ed display just to print the names
of ALL the recipients. Especially when CNet now allows up to 200
characters for "TO:" and 200 characters for "CC:". I think the list of
expanded names would get rather large, even larger than Chesty Morgan. ;)
Mail is now "distributed" rather than simply saved. That is, upon saving
an item, you will be notified that CNet is "dispatching" a copy of the
mail to each user who was listed in the "TO" and "CC" fields that you
specified. At this point, all users' names will be expanded to their
name, handle, or network address, whichever applies to the type of mail
being sent.
Currently (as a holdover from Perspective's v4.0-v4.08), mail-task
searches for pending mail-requests every 10 seconds. You will
(if you use Eddy Carrol's SnoopDOS or some other system activity monitor)
notice CNet looking for something called ENV:TZ.. This is something that
SAS/C uses to dicern your timezone. The timezone setting is the number of
hours from Greenwich Mean Time (GMT). Do not concern yourself with this
as I have not altered any of the time functions and Ken (Pletzer of course)
did not take this into account when coding CNet's time functions. If you
set a time zone for your system, CNet will most likely calculate your
local time incorrectly...unless you are living 0 hours from GMT :)
These things will be changed in the future. In the future, when mail is
saved, mail task will be notified that there are pending items waiting to
be processed so that they may be processed as quickly as possible.
Known mail/folder bug(s): When mail-task files a new item in a folder
while you are reading/scanning mail items in that folder, CNet does not
update the mail listing until you quit mail-read and re-enter <<OR>>
change folders and then change folders AGAIN to go back to your inbox.
The item is SAVED but it just doesn't appear in your "header listing"
until you quit mailread or change folders. This will be fixed for v4.12c.
I wanted to get this release out to put an end to the "lost mail" problem
so I felt that this is only a small oversight rather than a "bug" in the
true sense of the word.
4. Much other internal optimization of code to speed up Toss and other
areas of CNet. The event scheduler is going to receive still more
optimization for the next release. I mainly rushed this out the door
before further optimization so as to give Sysops a chance to get their
events running again. Also, the new event system does not currently have
a "repeat" attribute. That is, events that must run many times during
the day will either have to be entered more than once (ie. for network
mail polling, you may want to set up events to poll every hour.. For this,
you will be required to set up 24 seperate events). This is only a
temporary problem as "repeat" hours and minutes will be re-implemented
in an upcoming release.
5. MCI code ; has been added to allow comments in MCI scripts and BBSTEXT.
Note that some BBSTEXT lines still do not allow MCI. Generally, the ones
that already have MCI in them are safe. Please netmail/email me if you
are unsure about certain lines. Some of the new changes are already
commented using the format:
{; this is a comment}
^
|
CTRL-Q
Special Notes: For the v4.12b release ONLY, Mail-Aliases have not yet been
coded back in. It's an easy thing to insert into the code but I just
want to get the initial beta of the new mail filing system tested and
completely up to snuff. Mail-Aliases will return in v4.12c. Also, the
newer quoting style (you know..the quoted text UNDER your reply?) is gone
but the former 3.x quoting method is still completely active (CTRL-Q in
Vis-Ed and .Q or /Q in Line-Ed. If any of you want it back, this is also
simple to add back in. Just let me know if you want it. I chose to
remove it temporarily as many of you (and myself also) didn't like it. But
if you want it back in..
6. Count was not counting any of the mail, feedback or newuser applications.
Fixed. When count is processing mail directories, an asterisk is printed
when a FOLDER is found, and a period is printed when an actual mail/feedback
or newuser application is found.
3rd Party Developers
--------------------
A CNet Developer's Kit will be released in the hopefully near future. The
Subboard structures need some attention before I can/will release any of the
header files. Also, SOME getusers have changed. If any of your getusers no
longer work, don't panic, just let me know in either the fidonet CNET_BBS,
C-Link CLINKCNETAMIGA, any of the ATechNet CNet echos or by EMail/netmail
and I will reply with the correct getusers to use for this version.
(I expect Dotoran will be the first to contact me :)
...anyways, there is much, much, MUCH more to come! We still have some bugs
to swat now that the events and Mail are "seemingly" settled. Let me know
ASAP if you have any bugs that weren't yet reported, especially those relating
to the new mail-filing system or the new "CRON" event editor or events that
won't run, etc,. Now that the really major things are fixed, the small bugs
(ie. IFido's infamous "import everything into one message" problem, etc) can
be tended to and then on to NEW FEATURES that I've been talking about while
implementing the new mail and event systems..
Until the next release.. ENJOY!
-Ray
Changes/Fixes for v4.11
-----------------------
Please be aware that this release does NOT fix many of the bugs reported
thus far. This release is mainly to give you a stable 4.11 so that you
can at least have an operational system up and running. The next release
will fix many more bugs reported since ZenMetal acquired CNet AMIGA. Changes
and fixes are outlined below.
NOTE: YOU MUST FIRST INSTALL THE NEW LIBRARIES FOUND IN THE "SYS" SECTION
OF THIS DISTRIBUTION AND THEN RUN THE 411 EXECUTABLE CONVERSION
PROGRAM BEFORE RUNNING VERSION 4.11. The conversion will set
UUCP ID's according to item (5) below.
"411" is an AmigaDOS executable that you must run from a Shell or
CLI process.
ALSO, IMMEDIATELY AFTER YOU RUN 411, YOU MUST LOGON TO YOUR BBS
AND IMMEDIATELY RUN THE CNet/C DOOR "BASE0:DOORS/POINTERS" so that
your users' handle/UUCP/phone pointers are updated. If you get
the message "could not open mailbox (-1)" before running pointers
do not be alarmed as "pointers" will cure that.
Please be aware that the SYSOP's UUCP id will be altered also. If
you wish to change it, please do so after running pointers.
1. IFIdo/XFido now have their own logs in sysdata:log rather than logging
their activity to sysdata:log/maint.
2. bbstext lines 781 & 782 changed to allow insertion of mail processing
programs such as SuperTags to work on the _EdBuff file before it is
saved. Any programs that wish to operate on the _EdBuff file for mail
items, should be added to bbstext line 781.
3. Functions added to CNet.library:
short FileExists(char *filename); /* checks if file exists */
void CreateMailDir(char *uucpid); /* creates user's mail directory if non-existant */
4. User mail directory names are once again the same as their UUCP id.
5. UUCP ID can now only be changed by the SYSOP via "EA" to avoid user abuse.
Please note that users wityh "full remote maint" can change their own UUCP
ID.
By default, CNet sets new users' mailbox names according to the following
algorithm (UUCP ID is limited to 8 characters MAXIMUM):
first character = first initial of FIRST name
next 7 characters = first 7 letters of LAST name, or less if last name is
shorter than 7 characters.
the string is converted to LOWER case as the UUCP ID is created.
So, CNet would set UUCP IDs as the following examples show:
First Name : Ray
Last Name : Akey
resultant CNet UUCP ID: rakey
First Name : Jack
Last Name : Nicholson
resultant CNet UUCP ID: jnichols
The name is then checked with all other UUCP ID's currently in use and
if a duplicate is found, the LAST character is replaced with a numeric
digit of ascending order.
6. BMaint altered so that it will create "nested" or hierarchical
directory structures. To do this, the "unique subboard name" prompt
now allows the forward slash (/)
ie. To create an aminet/biz/misc mirror, simply use the following
information.
Title to appear on list: Miscellaneous Business Soft.
Name Used On Disk (unique): aminet/biz/misc
Path to subboard data files: base0:aminet/biz/misc/
This also allows your users to enter "GO aminet/biz/misc" to get
to that subboard.
7. Began removing CNet's dependancy on AmigaDOS commands (ie. delete,
makedir, etc..) All base directory structures are now created using pure
C function calls.
8. Added check for lost QWK/Yank packets when users login. Previously,
packets may have been lost in the event of software failures etc,..
9. "_atemp" file is no longer getting packed into yanked email QWK packets.
Changes/Fixes for v4.1
----------------------
1. CNet/Control now has possible two iconified states. If Workbench is
loaded, Control iconifies to an AppIcon. If the AppIcon cannot be opened,
the old "Perspective C" window will be used.
2. Related to the above, the default AppIcon imagery is the "Perspective C"
image. You can have your own icon imagery used for the AppIcon if you
create and save your icon as CNET:AppIcon.info. Included in this
distribution is a file called CNetAppIcon.info. Copy it to CNET: as
AppIcon.info to use it. It is a nice 3d-looking AppIcon image for CNet.
3. Added appicon position setting to Config's "Display" settings. Click
on the "Appicon" cycle gadget to open a small "Move me!" window. Place
the window where you want your CNet/Control Appicon to appear when
iconified and then click again on the same button (now having the text
"Close position window") to save your icon position. The appicon is
immediately notified of your changes and moves to it's new location.
4. CNet/Control menus were altered slightly to allow for easier future
expansion. The changes are mostly in the visual ordering of the menu
items. Please be aware that some menu items received new Amiga-key
equivalents/short-cuts.
5. Fixed bug in "Missing" that popped up "please insert volume udbasex:".
This was a hold-over from the days when CNet used a UDBaseX: assignment.
(addendum: this problem was also simultaneously corrected by Mr. Pletzer
in the v4.08 public release)
6. Missing no longer attempts to check non-file/message list objects.
(addendum: this problem was also simultaneously corrected by Mr. Pletzer
in the v4.08 public release)
7. GO argument is now displayed when a user enters a subboard.
8. Fixed bug that caused problems when attempting to run a port while that
port is already running. (ie. "run bbs port 3" while port 3 is already
loaded).
9. CNet no longer pops up requesters when moving files from subboard to
subboard and the destination partition becomes full. CNet simply
states that the file could not be moved.
Note: A CNet demo is available on aminet in the comm/cnet directory.
Complaints
----------
If you have any immediate concerns or complaints, please netmail your
query to one of the following network addresses or contact one of the
support systems mentioned in the "Bug Reports/Support" section and we'll
get back to you ASAP:
Ray Akey@1:246/74.0
rakey@cnetbbs.net
Sales/Development/Bug Reports/Support/Registration
--------------------------------------------------
Metal Software/The Metal Shoppe BBS
Attn: Ray Akey
411 Bridge Ave.
Windsor, ON
Canada N9B 2M3
BBS: (519) 256-0278
(519) 255-7378
---
Amiga, C=, Commodore and Amiga Technologies are trademarks of Escom/AG.
SAS/C is Copyright (c) 1988-1995 SAS Institute, Inc.
CNet Amiga is copyright ZenMetal Software.